İçindekiler:
- Adım 1: AC Güç Kablosunu Çıkarın ve 9V Pili Çıkarın
- Adım 2: Atlama Kablolarını Bağlayın
- 3. Adım: RPi'yi Güçlendirin
- Adım 4: Avrdude'u yükleyin
- Adım 5: Avrdude Yapılandırma Dosyasını Düzenleyin
- 6. Adım:.hex Flash Dosyasını /home/pi dizinine indirin veya kopyalayın
- 7. Adım: Avrdude'nin ATMEGA48V-10PU ile Konuşabildiğini Doğrulayın
- 8. Adım:.hex Dosyasını ATMEGA48V-10PU'ya Flashlayın
- 9. Adım: Flaş Başarısız Olursa Basit Sorun Giderme
Video: Bir Raspberry Pi'nin GPIO Pinlerini ve Avrdude'yi DIMP 2 veya DA PIMP'yi Bit-bang-programlamak için Kullanma 2: 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bunlar, bir Raspberry Pi'nin ve bir DIMP 2 veya DA PIMP 2'yi bit-bang programlamak için ücretsiz açık kaynak komutu avrdude'nin nasıl kullanılacağına ilişkin adım adım talimatlardır. Raspberry Pi ve LINUX'a aşina olduğunuzu varsayıyorum. Komut satırı. AVR çip programlamaya aşina olmanıza gerek yok, ancak bir şeyler ters giderse yardımcı olur çünkü avrdude çıktısını okuyabilir ve ne yapacağınıza dair bir fikriniz olabilir.
Bu prosedür ilk seferde yaklaşık 1 saat ve sonrasında her seferinde 5 ila 10 dakika sürmelidir.
İhtiyacın olacak:
1) GPIO pinleri ve güç kaynağı olan bir Raspberry Pi. GPIO pinleri lehimlenmiş bir Raspberry Pi Zero W kullanıyorum. İşletim sistemi Raspberry Pi OS (eski adıyla Raspbian) olmalıdır. Biraz eski olan Raspbian Lite (Stretch) kullanıyorum. Bu komutlar, Raspberry Pi OS'nin en son sürümünde çalışmaya devam etmelidir.
İleride Raspberry Pi'ye "RPi" diyeceğim.
2) Dişi-dişi atlama telleri. Şu renklerden birini alın: kırmızı, siyah, mavi, sarı, yeşil, mor. Mor yerine kahverengi kullanıyorum.
3) İsteğe bağlı 10 pimli ICSP başlığı lehimlenmiş bir DIMP 2 veya DA PIMP 2. Burada bir DIMP 2 kullanıyorum, ancak talimatlar DA PIMP 2 için aynı.
4) RPi için internet erişimi, böylece ücretsiz açık kaynak komut avrdude yükleyebilirsiniz.
5) DIMP 2 veya DA PIMP 2'niz için.hex flash dosyasının bir kopyası..hex dosyasını ham kaynak kodundan kendiniz oluşturabilirsiniz, ancak bunu nasıl yapacağınızı burada göstermeyeceğim.
6) RPi'de oturum açmanın bir yolu - bir ağ bağlantısı veya doğrudan konsol erişimi kullanın. Üzerinde komut çalıştırabilmeniz gerekir.
Adım 1: AC Güç Kablosunu Çıkarın ve 9V Pili Çıkarın
İlk olarak, AC güç kablosunun DIMP 2 veya DA PIMP 2'ye takılı olup olmadığını ve AC şebekesine takılı olup olmadığını kontrol edin. Eğer öyleyse, TEHLİKE: ÖLÇÜ ŞOK TEHLİKESİ. Lastik eldiven giyin ve ardından DIMP 2 veya DA PIMP 2 üzerindeki ana basmalı anahtarı kapatın. Ardından, AC güç kablosunu AC şebekesinden çıkarın ve AC güç kablosunu DIMP 2 veya DA PIMP 2'den ayırın. AC güç kablosu çıkarıldıktan sonra lastik eldivenleri çıkarın.
Ardından, 9V pili çıkarın. DIMP 2'ye güç, kırmızı (Vcc) ve siyah (GND) kablolar aracılığıyla RPi tarafından sağlanacaktır. Her ihtimale karşı DIMP 2 veya DA PIMP 2 üzerindeki kaydırmalı anahtarı kapatın.
Adım 2: Atlama Kablolarını Bağlayın
RPi açık değilken, atlama tellerini bağlamaya başlayın. İleriye dönük olarak, GPIO pinleri Raspberry Pi üzerinde ve ICSP pinleri DIMP 2 (başlık J3) veya DA PIMP 2 (başlık J1) üzerindedir.
Kaybolduysanız, bir araya getirdiğim şemaya ve fotoğraflara bakın.
Diyagramın RPi kısmı pinout.xyz'den alınmıştır.
Şemanın ATMEGA48V-10PU bölümünün telif hakkı 2016 Atmel Corp.'a aittir.
Önemli, dönüştürücü eklemeler nedeniyle bu çizimlerin adil kullanımını talep ediyorum.
Siyah, GPIO pin 6'dan ICSP pin 10'a gider. Bu GND'dir (Toprak)
Sarı, GPIO pin 12'den ICSP pin 9'a gider. Bu MISO'dur.
Yeşil, GPIO pin 16'dan ICSP pin 1'e gider. Bu MOSI'dir.
Mavi, GPIO pin 18'den ICSP pin 7'ye gider. Bu, SCK veya SCLK'dır (SClock)
Mor (fotoğraflarımda kahverengi) GPIO pin 32'den ICSP pin 5'e gider. Bu RESET'tir.
Kırmızı, GPIO pin 4'ten ICSP pin 2'ye gider. Bu Vcc (5V Güç)'dir.
3. Adım: RPi'yi Güçlendirin
Şimdi devam edin ve RPi'yi çalıştırın. DIMP 2 veya DA PIMP 2'nin voltmetre kısmı da açılmalıdır, ancak ekrana bakarak bunu bilemezsiniz. Şüpheniz varsa, ATMEGA48V-10PU'daki pin 20'deki kırmızı prob ve ICSP başlığındaki pin 4, 6 veya 8'deki siyah prob ile voltajı ölçün. 5VDC civarında olmalıdır.
Adım 4: Avrdude'u yükleyin
Talimatlarım yalnızca komut satırı komutlarını gösterecek. Çalışan bir GUI'niz varsa, bu komut satırı komutlarını çalıştırmak için bir Terminal açmak isteyeceksiniz.
Varsayılan kullanıcı pi olarak oturum açın. Varsayılan şifre ahududu
Terminal komut istemine aşağıdakini yazarak avrdude komutunu yükleyin:
sudo apt-get install avrdude
Adım 5: Avrdude Yapılandırma Dosyasını Düzenleyin
avrdude yapılandırma dosyasını şunu yazarak düzenleyin:
sudo nano /etc/avrdude.conf
Bu satırları, diğer programcı tanımlarının bulunduğu dosyanın ortasına ekleyin. Yaptığım şey, id = "linuxgpio" için hemen üstündeki programcı bölümünü kopyalamak, ardından hemen altına yapıştırmak (1274 satırında), ardından yeni bölümü düzenlemek.
programcı
id = "pi_1"; desc = "GPIO satırlarını bit bang için Linux sysfs arabirimini kullanın"; type = "linuxgpio"; sıfırla = 12; sck = 24; mosi = 23; miso = 18;;
Ardından, Ctrl-O tuşlarına basarak dosyayı kaydedin
Ardından, Ctrl-X tuşlarına basarak nano düzenleyiciden çıkın
6. Adım:.hex Flash Dosyasını /home/pi dizinine indirin veya kopyalayın
.hex flash dosyasını RPi'ye kopyalayın. Bunu nasıl yapacağınızı bildiğinizi varsayıyorum. İPUCU: Dosyayı web'den RPi'ye indirmek için wget, curl, git veya scp komutunu kullanın.
DIMP 2'nin.hex dosyası, kaynak koduyla birlikte burada:
github.com/dchang0/dimp2
DA PIMP 2'nin.hex dosyasının özelleştirilmiş bir sürümü burada. Bunu test etmedim!
github.com/jcwren/DaPimp2
DA PIMP 2'nin.hex dosyasının yukarıdaki sürümü çalışmazsa, Mikey Sklar'ın orijinal DA PIMP 2'nin kaynak kodu burada. Kendiniz çalışan bir.hex dosyasında derlemeniz gerekecek. Uzun (ama zor olmayan) bir eğitim olacağı için bu talimatlarda buna değinmiyorum. Bu kaynak kodunu kullanarak birkaç çalışan DA PIMP 2 birimini başarıyla programladım:
drive.google.com/open?id=0Bx5Als-UeiZbSUdH…
Veya buradaki ana DA PIMP 2 sayfasına gidebilir ve kaynak koduna giden bağlantıya tıklayabilirsiniz.
mikeysklar.blogspot.com/p/da-pimp-battery-…
.hex dosyasını bu yola ve dosya adını RPi'ye koyun…
DIMP 2 için:
/home/pi/dimp2.hex
DA PIMP 2 için:
/home/pi/da_pimp2.hex
7. Adım: Avrdude'nin ATMEGA48V-10PU ile Konuşabildiğini Doğrulayın
DIMP 2 veya DA PIMP 2 üzerindeki ATMEGA48V-10PU yongasıyla konuşabildiğinden emin olmak için avrdude komutunu çalıştırın.
cd /ev/pi
sudo avrdude -c pi_1 -p m48 -v
Yaklaşık bir sayfa çıktı alacaksınız. Sonuca bak. Böyle bir yanıt alırsanız, devam edebilirsiniz.
avrdude: AVR cihazı başlatıldı ve talimatları kabul etmeye hazır
Okuma | ################################################# | %100 0,00 sn
Değilse, o zaman bir şeyler yanlıştır ve bunu anlamanız gerekir. Büyük olasılıkla bir yanlış kablolama, ancak gördüğüm bir başka yaygın şikayet, ATMEGA48V-10PU çipinin sahte olduğu. Görünüşe göre Amazon veya ebay'de satılanların çoğu sahte. Mouser veya Digikey ve diğer yetkili distribütörler tarafından satılanlar orijinaldir.
8. Adım:.hex Dosyasını ATMEGA48V-10PU'ya Flashlayın
Çipin programlamasını yapmak için bu komutu çalıştırın…
DIMP 2 için:
cd /ev/pi
sudo avrdude -c pi_1 -p m48 -U flash:w:dimp2.hex
DA PIMP 2 için:
cd /ev/pi
sudo avrdude -c pi_1 -p m48 -U flash:w:da_pimp2.hex
Yaklaşık bir sayfa çıktı alacaksınız. Bu satırları arayın:
avrdude: flash yazma (1528 bayt):
Yazma | ################################################# | %100 0.79s
avrdude: doğrulanıyor…
avrdude: 1528 bayt flaş doğrulandı avrdude: safemode: Sigortalar TAMAM (E:FF, H:DF, L:62)
Buraya kadar geldiyseniz, voltaj için sıfırları gösteren LED ekranı görmelisiniz. Sıfırları görürseniz, bitirdiniz! Değilse, bir sonraki adıma geçin.
Sıfırları görürseniz, bu komutla RPI'nizi nazikçe kapatın:
sudo kapatma -h şimdi
RPi üzerindeki güç ışığı kapandığında (DIMP 2 veya DA PIMP 2 hala açık olacaktır), güç kaynağını RPi'den çıkarabilirsiniz. Ardından RPi ile DIMP 2 veya DA PIMP 2 arasındaki atlama kablolarını çıkarın.
9. Adım: Flaş Başarısız Olursa Basit Sorun Giderme
DIMP 2 veya DA PIMP 2'nizin ekranında sıfır görmüyorsanız, sorun giderme zamanı gelmiştir.
Yine, önce kablolamanızı kontrol edin.
Ardından avrdude ile gösterilen sigorta durumlarını kontrol edin. Çipinizin, fabrika varsayılanından farklı değerlere ayarlanmış sigortalarla gelmesi mümkündür. Çipin, tamamen farklı bir donanım aygıtı gerektiren sigortalarının sıfırlanması gerekebilir. Bu, ebay'de satılan sahte ATMEGA48V-10PU yongalarının çoğunda bir sorundur - bunlar atılan donanımdan çıkarılan eski yongalardır ve sigortalar ayarlanmıştır ve satıcı sigortaları sıfırlama zahmetine girmemiştir.
Bazen çip bir ATMEGA48V-10PU bile değildir. Yeniden etiketlenmiş farklı bir çip olabilir. Genellikle bu sahtekarlıkları çipin üstündeki ve altındaki işaretlere dikkatlice bakarak anlayabilirsiniz. ATMEGA48V-10PU'nuzu Mouser veya Digikey gibi güvenilir bir tedarikçiden almak daha akıllıca olacaktır.
Önerilen:
[2020] Bir RC Arabayı Kontrol Etmek İçin IPhone veya IPad ve Micro:bit Game Pad Uygulamasını Kullanma: 23 Adım
[2020] Bir RC Arabayı Kontrol Etmek İçin IPhone veya IPad ve Micro:bit Game Pad Uygulamasını Kullanma: Micro:bit'inizi kontrol etmek için iPhone veya iPad'inizi kullanmayı düşündünüz mü? Uygulama mağazası? "micro:bit" App Store'da ve uygulamayı ücretsiz olarak indirebilirsiniz. NS
Ubidots-ESP32+Sıcaklık ve Nem Sensörünü Kullanma-Ubidots-Kullanma-Uyarı Oluşturma: 9 Adım
Ubidots-ESP32+Sıcaklık ve Nem Sensörü-Ubidots-Kullanma-Uyarı Oluşturma: Bu eğitimde, Sıcaklık ve nem sensörünü kullanarak farklı sıcaklık ve nem verilerini ölçeceğiz. Bu verileri Ubidots'a nasıl göndereceğinizi de öğreneceksiniz. Böylece farklı uygulamalar için her yerden analiz edebilirsiniz. Ayrıca e-posta oluşturarak
Bir RTA Programını Osiloskop veya Devre Analizörü Olarak Kullanma: 4 Adım
Bir RTA Programının Osiloskop veya Devre Analizörü Olarak Kullanılması: Bu hilenin amacı, izleyicilere gerçek zamanlı analizör (RTA) programları kullanarak devrelerinin ve cihazlarının elektrik sinyallerini görüntülemeleri için uygun fiyatlı bir seçenek sunmaktır. Bir osiloskop üzerinden bu yaklaşımın birincil yararı, RTA programlarının
ESP8266 GPIO0/GPIO2/GPIO15 Pinlerini Kullanma: 4 Adım
ESP8266 GPIO0/GPIO2/GPIO15 Pinlerini Kullanma: 1 Temmuz 2018 Güncellemesi -- GPIO0 bir çıkış olduğunda yeniden programlama hakkında not eklendiBu, ESP8266 modülünde GPIO0 / GPIO2 ve GPIO15 pinlerinin nasıl kullanılacağına dair çok kısa bir nottur. Güncelleme: Ayrıca kontrol edin çıkış ESP8266-01 pinleri nasıl kullanılırGirişESP8266 düşük
Android ve Linux İşletim Sistemli DragonBoard 410c Üzerinde GPIO Pinlerini Kullanan Uygulamaların Geliştirilmesi: 6 Adım
Android ve Linux İşletim Sistemlerinde DragonBoard 410c'de GPIO Pinlerini Kullanan Uygulamaların Geliştirilmesi: Bu öğreticinin amacı DragonBoard 410c düşük hızlı genişletmede GPIO pinini kullanarak uygulamalar geliştirmek için gereken bilgileri göstermektir. Bu öğretici, Andr üzerinde SYS ile GPIO pinlerini kullanarak uygulama geliştirmeye yönelik bilgiler sunar