İçindekiler:
- Adım 1: Neye İhtiyacınız Var?
- Adım 2: Bir Breadboard'da Mega-isp Programlayıcı Yapmak
- 3. Adım: Çizimi Yükleme
- Adım 4: Avrdude ile Kullanma
- Adım 5: USBtinyISP Ürün Yazılımını Attiny2313'e Yazma
- Adım 6: Arduino Bootloader'ı Yazmak
- 7. Adım: Sorun Giderme
Video: Bir AVR (arduino) Başka Bir Arduino İle Nasıl Programlanır: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:22
Bu talimat aşağıdaki durumlarda yararlıdır:
* arduino'nuzu atmega168 ile aldınız ve yerel elektronik mağazanızdan bir atmega328 satın aldınız. Bir arduino önyükleyicisi yok * arduino kullanmayan bir proje yapmak istiyorsunuz - sadece normal bir AVR yongası (USBTinyISP gibi) - bellenimi yakmak istediğiniz temiz bir attiny2313/attiny48 vb. var. Normalde yeni çipinizi programlamak için USBTinyISP gibi bir ISP'ye (In System Programmer) sahip olmanız gerekir. Arduino'ya sahip olmak, Randall Bohn tarafından yapılan harika bir çalışma sayesinde ona bir programcı olmayı öğretebilirsiniz. Bir programcı gibi çalışan bir arduino taslağı olan Mega-ISP'yi yarattı.
Adım 1: Neye İhtiyacınız Var?
* çalışan bir Arduino (veya bir klon - BBB kullanıyorum - BareBonesBoard ve RBBB - ModernDevices tarafından RealBareBonesBoard) * programlamak istediğiniz bir çip (atmega8, atmega168, atmega368, attiny2313, attiny13) * bir devre tahtası veya ISP başlıklı bir kart * 3 led + 3 direnç * breadboard kabloları
Adım 2: Bir Breadboard'da Mega-isp Programlayıcı Yapmak
Bir çip programlamak için Arduino'nuzu bağlamanın iki yolu vardır.
Avr çipinizi bir devre tahtasına takabilir ve 5v ve GND'yi ilgili pinlere bağlayabilirsiniz (veri sayfasını kontrol edin!) + pinleri sıfırlamak ve arduino'dan çipe bağlamak için bir çekme direnci. Bunlar Arduino'daki satırlar ve işlevleri 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Sıfırla) Veya bir tane sağlayan bir karta takabileceğiniz 2x3pin ISP başlığı yapabilirsiniz (başka bir arduino kartı). ISP başlığının pin çıkışı üçüncü resimdedir Programlayıcının durumunu gösteren 3 adet led vardır. pin 9 - mavi led - programcının kalbidir. pin 8 - kırmızı led - bir hata olduğunu gösterir pin 7 - yeşil led - programlamanın yapıldığını gösterir (tembeldim bu yüzden kurulumumdaki renkleri eşleştirmedim) İşte Fritzing'de yapılan çizimler. MEGA-isp kalkanı. Yaroslav Osadchyy kalkanı kartal olarak tasarladı. Kartal dosyalarını kendi sitesinden edinebilirsiniz:
3. Adım: Çizimi Yükleme
Krokiyi mega-isp google kodundan indirin.(yazarken avrrisp.03.zip). Paketi açın ve arduino ide'yi çalıştırın ve avrisp.pde'yi açın. Arduino kartınıza yükleyin. Kalp atışı ledi atmaya başlamalıdır.
Adım 4: Avrdude ile Kullanma
avrdude (ve onu kullanan tüm GUI'ler) ile kullanmak için 'avrisp' programlayıcısını seçmelisiniz. en güvenli bit hızı 19200'dür.
Yeni atmega168'inizi komut satırından test etmek için şunu deneyin: $ avrdude -p m168 -P /dev/ttyUSB0 -c avrisp -b 19200 /dev/USB0 arduino'nun linux kutuma bağlı olduğu bağlantı noktasıdır (sizinki com5 olabilir). Bu, arduino IDE'de Araçlar -> Seri Bağlantı Noktası'nda kontrol edilebilir. Almalısınız: [kabturek@hal-9000 ~]# avrdude -p m168 -P /dev/ttyUSB0 -c avrisp -b 19200 avrdude: AVR cihazı başlatıldı ve talimatları kabul etmeye hazır Okuma | ################################################# | %100 0.13s avrdude: Cihaz imzası = 0x1e9406 avrdude: safemode: Sigortalar OK avrdude yapıldı. Teşekkürler. Bu her şey yolunda demektir. Hata alırsanız - son adımı kontrol edin.
Adım 5: USBtinyISP Ürün Yazılımını Attiny2313'e Yazma
USBTinyISP, LadyAda'dan gerçekten ucuz olan harika bir programcıdır - 22$. Yedek bir attiny2313 ve bazı parçalarım vardı, bu yüzden kendim yapmaya karar verdim. PCB yapma konusunda herhangi bir tecrübeniz yoksa kiti satın almanızı tavsiye ederim çünkü kendiniz yapabileceğinizden daha kaliteli:). En azından bir tane oluşturmak istiyorsanız PCB'yi satın alın. Adafruit'ten alabilirsiniz. ATtiny2313'ü bağlayın Son resimde ISP için kullanılan pinleri kırmızı olan attiny2313'ü görebilirsiniz. Resim LadyAda avr eğitiminden alınmıştır. Bellenimi yakma: USBTinyISP bellenimini paketinden çıkarın. spi dizinine gidin ve çipte her şeyin yolunda olup olmadığını kontrol etmek için $ avrdude -p pt2313 -P /dev/ttyUSB0 -c avrisp -b 19200 komutunu çalıştırın. Şimdi sigortaları ayarlayın: $ avrdude -P /dev/ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse:w:0xdf:m -U lfuse:w:0xef:m Şimdi 12mhz harici osilatörü çipe bağlamalısınız. Ve bellenimi yazın: $ avrdude -B 1 -pt2313 -U flash:w:main.hex -P /dev/ttyUSB0 -c avrisp -b 19200 Voila. attiny2313'ünüz USBTinyISP bellenimine sahiptir.
Adım 6: Arduino Bootloader'ı Yazmak
BağlanmakBiraz hile yaptım çünkü bağlantıları basitleştirmek için bir RBBB kullandım. Şema 2. fotoğrafta. 2 arduino kullanıyorsanız 3 numaralı resmi kullanın ve ISP pinini ikinci(slave) arduino üzerindeki ICSP 2x3header'a bağlayın. Sadece usb gücünü ilk karta bağlayın. GUI yolu Bu biraz zor çünkü sadece Tools-> Burn Bootloader -> w/ AVR ISP'yi kullanamazsınız çünkü varsayılan hız mega-isp için çok büyük. arduino IDE ile birlikte gelen avrdude.conf dosyasını bulun (arduino/hardware/tools/avrdude.conf içinde) ve avrisp programcısı için sınır oranını 115200'den 19200'e değiştirin (312 satırı civarında) avrdude.conf programmer id = "avrisp" içinde bulun ve değiştirin; desc = "Atmel AVR ISP"; baud hızı = 115200; # varsayılan 115200 tür = stk500;; için: programcı kimliği = "avrisp"; desc = "Atmel AVR ISP"; baud hızı = 19200; # varsayılan 115200 tür = stk500;; Artık Tools -> Burn Bootloader -> w/ AVR ISP'yi kullanabilirsiniz (Araçlar menüsünden uygun kartı seçtikten sonra)Commanline Komut satırını da kullanabilirsiniz: arduino/hardware/bootloaders/atmega/Makefile dosyasını düzenleyin ve ISPTOOL/PORT'u değiştirin /SPEED to: # avrdude isp tool için parametreleri girin ISPTOOL = avrisp ISPPORT = /dev/ttyUSB0 ISPSPEED = -b 19200 hayır sigortaları ve bootloader'ı yakmak için $ make diecimila_isp yazabilirsiniz. Test Şimdi yeni arduinoyu usb'ye bağlayın ve göz kırp!
7. Adım: Sorun Giderme
Avrdude hataları: avrdude: ser_open(): "/dev/ttyUSB0" aygıtı açılamıyor: Böyle bir dosya veya dizin yok Yanlış bağlantı noktası (-P) belirtmişsiniz veya arduino'nuz bağlı değil. avrdude bağlantısını kontrol edin: Cihaz imzası = 0x000000 avrdude: Yikes! Geçersiz cihaz imzası. Bağlantıları iki kez kontrol edin ve tekrar deneyin veya bu kontrolü geçersiz kılmak için -F'yi kullanın. Bu bir tür genel hatadır. Çipiniz tanınmadı. Kart üzerindeki bağlantıyı kontrol edin (GND/5V pinlere bağlı mı?) Chip'iniz harici bir osilatör kullanacak şekilde yapılandırıldığında ve çalışmıyorsa bu hatayı alırsınız (yoksa veya osilatör düzgün çalışmıyorsa - 22pf caps) eksik ?)
Önerilen:
ESP8266 Flaşör ve Programlayıcı, IOT Wifi Modülü Kullanılarak ESP8266 AT Firmware Nasıl Programlanır veya Programlanır: 6 Adım
ESP8266 Flaşör ve Programlayıcı, IOT Wifi Modülü Kullanılarak ESP8266 Firmware'de Nasıl Flash Yapılır veya Programlanır: Açıklama: Bu Modül, ESP-01 veya ESP-01S tipi ESP8266 modülleri için bir USB adaptörü/programcısıdır. ESP01'i takmak için 2x4P 2.54mm dişi başlık ile rahatlıkla donatılmıştır. Ayrıca ESP-01'in tüm pinlerini 2x4P 2.54mm erkek h
Bir Breadboard Kullanarak PICkit Programlayıcı ile PIC MCU Nasıl Programlanır: 3 Adım
PICkit ile PIC MCU Nasıl Programlanır Breadboard Kullanarak Programlayıcı: PIC (veya başka herhangi bir) mikrodenetleyici ile oynamak için pahalı ve karmaşık araçlara ihtiyacınız yoktur. Tek ihtiyacınız olan, devrenizi ve programlamanızı test edeceğiniz bir devre tahtasıdır. Elbette bir çeşit programcı ve IDE gerekli. Bu talimatta
Arduino Uno ile Arduino Pro Mini Nasıl Programlanır: 4 Adım
Arduino Uno ile Arduino Pro Mini Nasıl Programlanır: Bunu başka bir projenin parçası olarak yazdım, ancak daha sonra doğrudan dizüstü bilgisayardan programlanabilen bir Pro Micro kullanmaya karar verdim. Ancak, bu bir gün (veya birisi için) faydalı olabilir, bu yüzden buraya bırakıyorum.
Arduino Kartı Kullanarak Bir AVR Kartı Nasıl Programlanır: 6 Adım
Arduino Kartı Kullanarak Bir AVR Kartı Nasıl Programlanır: Ortalıkta bir AVR mikrodenetleyici kartınız var mı? Programlamak zor mu? Pekala, doğru yerdesin. Burada, bir Arduino Uno kartını programlayıcı olarak kullanarak bir Atmega8a mikrodenetleyici kartının nasıl programlanacağını göstereceğim. Yani uzatmadan
Arduino Irlib ile TV Uzaktan Kumandası veya Başka Bir Şey Nasıl Taklit Edilir: 3 Adım (Resimlerle)
Arduino Irlib ile TV Uzaktan Kumandası veya Başka Bir Şey Nasıl Taklit Edilir: Giriş Herkese merhaba ve ilk Instructable'ıma hoş geldiniz. Bugün, başlığın dediği gibi, Arduino (herhangi bir model) kullanarak e TV uzaktan kumandasını veya Kızılötesi sinyallerle çalışan benzer bir şeyi taklit etmeyi öğreneceğiz. .Sorun şuydu: Kodları bir bilgisayara nasıl iletebilirim?