İçindekiler:

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
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

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

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
Video: Raspberry Pi dersleri Gpio pinleri kullanımı #Ders1 2024, Temmuz
Anonim
Bir Raspberry Pi'nin GPIO Pinleri ve Avrdude, DIMP 2 veya DA PIMP 2'yi Bit-bang-programlamak için Nasıl Kullanılır
Bir Raspberry Pi'nin GPIO Pinleri ve Avrdude, DIMP 2 veya DA PIMP 2'yi Bit-bang-programlamak için Nasıl Kullanılır

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

Jumper Kablolarını Bağlayın
Jumper Kablolarını Bağlayın
Jumper Kablolarını Bağlayın
Jumper Kablolarını Bağlayın
Jumper Kablolarını Bağlayın
Jumper Kablolarını Bağlayın
Jumper Kablolarını Bağlayın
Jumper 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: