Mündəricat:

Raspberry Pi-nin GPIO Pins və Avrdude-dən Bit-bang-proqramına DIMP 2 və ya DA PIMP 2: 9 addımlarından necə istifadə olunur
Raspberry Pi-nin GPIO Pins və Avrdude-dən Bit-bang-proqramına DIMP 2 və ya DA PIMP 2: 9 addımlarından necə istifadə olunur

Video: Raspberry Pi-nin GPIO Pins və Avrdude-dən Bit-bang-proqramına DIMP 2 və ya DA PIMP 2: 9 addımlarından necə istifadə olunur

Video: Raspberry Pi-nin GPIO Pins və Avrdude-dən Bit-bang-proqramına DIMP 2 və ya DA PIMP 2: 9 addımlarından necə istifadə olunur
Video: Raspberry Pi 4B в корпусе Argon ONE M.2 c SSD диском 128 ГБ, собираем сервер для Home Assistant 2024, Noyabr
Anonim
Raspberry Pi-nin GPIO Pins və Avrdude-dən Bit-bang proqramına DIMP 2 və ya DA PIMP 2-dən necə istifadə olunur
Raspberry Pi-nin GPIO Pins və Avrdude-dən Bit-bang proqramına DIMP 2 və ya DA PIMP 2-dən necə istifadə olunur

Bunlar Raspberry Pi və DIMP 2 və ya DA PIMP 2-ni bang-proqramlaşdırmaq üçün pulsuz açıq mənbə əmrini necə istifadə etməyinizə dair addım-addım təlimatlardır. Hesab edirəm ki, Raspberry Pi və LINUX ilə tanışsınız əmr xətti. AVR çip proqramlaşdırması ilə tanış olmaq məcburiyyətində deyilsiniz, ancaq bir şey səhv olarsa kömək edir, çünki avrdude çıxışını oxuya və nə edəcəyiniz barədə bir fikir sahibi ola bilərsiniz.

Bu prosedur ilk dəfə təxminən 1 saat, sonra isə hər dəfə 5-10 dəqiqə çəkməlidir.

Sizə lazım olacaq:

1) GPIO pinləri və enerji təchizatı olan bir Raspberry Pi. Lehimlənmiş GPIO sancaqları olan bir Raspberry Pi Zero W istifadə edirəm. Əməliyyat sistemi Raspberry Pi OS (əvvəllər Raspbian) olmalıdır. Köhnə bir növ olan Raspbian Lite (Stretch) istifadə edirəm. Bu əmrlər hələ də Raspberry Pi OS -nin ən son versiyasında işləməlidir.

İrəli gedərkən Raspberry Pi -ni "RPi" adlandıracağam.

2) Dişi-dişi tullanan tellər. Bu rənglərdən hər birini alın: qırmızı, qara, mavi, sarı, yaşıl, bənövşəyi. Bənövşəyi əvəzinə qəhvəyi istifadə edirəm.

3) İsteğe bağlı 10 pinli ICSP başlığı ilə lehimlənmiş bir DIMP 2 və ya DA PIMP 2. Burada DIMP 2 istifadə edirəm, amma təlimatlar DA PIMP 2 üçün eynidir.

4) pulsuz açıq mənbə əmrini yükləyə biləcəyiniz üçün RPi üçün İnternet bağlantısı.

5) DIMP 2 və ya DA PIMP 2 üçün.hex flash faylının bir nüsxəsi.hex faylını özünüz mənbə kodundan qura bilərsiniz, amma burada bunu necə edəcəyinizi sizə göstərməyəcəyəm.

6) RPi-yə daxil olmağın bir yolu-ya şəbəkə bağlantısı, ya da birbaşa konsol girişindən istifadə edin. Bunun üzərində əmrləri işlədə bilməlisiniz.

Addım 1: AC Güc Kabelini çıxarın və 9V Batareyanı çıxarın

Əvvəlcə AC elektrik kabelinin DIMP 2 və ya DA PIMP 2 -yə qoşulduğunu və AC şəbəkəsinə qoşulduğunu yoxlayın. Əgər belədirsə, TEHLİKƏ: LETAL ŞOK TEHLİKƏSİ. Rezin əlcəklər geyin və sonra DIMP 2 və ya DA PIMP 2 -nin əsas açar açarını söndürün. Daha sonra AC elektrik kabelini AC şəbəkədən ayırın və AC elektrik kabelini DIMP 2 və ya DA PIMP 2 -dən ayırın. AC elektrik kabeli çıxarıldıqdan sonra rezin əlcəkləri çıxarın.

Sonra 9V batareyanı çıxarın. Qırmızı (Vcc) və qara (GND) tellər vasitəsilə RPi tərəfindən DIMP 2 -yə enerji veriləcək. DIMP 2 və ya DA PIMP 2 üzərindəki sürüşmə açarını hər halda söndürün.

Addım 2: Jumper tellərini bağlayın

Jumper tellərini bağlayın
Jumper tellərini bağlayın
Jumper tellərini bağlayın
Jumper tellərini bağlayın
Jumper tellərini bağlayın
Jumper tellərini bağlayın
Jumper tellərini bağlayın
Jumper tellərini bağlayın

RPi açılmadıqda, tullanan telləri bağlamağa başlayın. Gələcəkdə, GPIO pinləri Raspberry Pi və ICSP pinləri DIMP 2 (başlıq J3) və ya DA PIMP 2 (başlıq J1) üzərindədir.

Birlikdə çəkdiyim diaqrama və itdiyiniz təqdirdə şəkillərə baxın.

Diaqramın RPi hissəsi pinout.xyz -dəndir.

Diaqramın ATMEGA48V-10PU hissəsi müəllif hüquqları 2016 Atmel Corp.

Əhəmiyyətli, dəyişdirici əlavələr səbəbindən bu rəsmlərin ədalətli istifadəsini tələb edirəm.

Qara GPIO pin 6 -dan ICSP pin 10 -a keçir. Bu GND (Ground)

Sarı GPIO pin 12 -dən ICSP pin 9 -a keçir. Bu MISO -dur.

Yaşıl GPIO pin 16 -dan ICSP pin 1 -ə keçir. Bu MOSI -dir.

Mavi GPIO pin 18 -dən ICSP pin 7 -ə keçir. Bu SCK və ya SCLK (SClock)

Bənövşəyi (şəkillərimdə qəhvəyi) GPIO pin 32 -dən ICSP pin 5 -ə qədər gedir. Bu SIFIRLANIR.

Qırmızı GPIO pin 4 -dən ICSP pin 2 -ə keçir. Bu Vcc (5V Gücü)

Addım 3: RPi -ni gücləndirin

İndi davam edin və RPi -ni gücləndirin. DIMP 2 və ya DA PIMP 2 -nin voltmetr hissəsi də işə düşməlidir, ancaq ekrana baxaraq bunu bilməyəcəksiniz. Şübhə varsa, ATMEGA48V-10PU pin 20-də qırmızı probla və ICSP başlığında 4, 6 və ya 8-də qara probla gərginliyi ölçün. 5VDC ətrafında olmalıdır.

Addım 4: Avrdude quraşdırın

Təlimatlarım yalnız əmr satırı əmrlərini göstərəcək. Çalışan bir GUI varsa, bu əmr satırı əmrlərini yerinə yetirmək üçün bir Terminal açmaq istəyəcəksiniz.

Varsayılan istifadəçi pi olaraq daxil olun. Varsayılan parol moruqdur

Terminal əmr satırına aşağıdakıları yazaraq avrdude əmrini quraşdırın:

sudo apt-get avrdude quraşdırın

Addım 5: Avrdude Config Faylını redaktə edin

Yazaraq avrdude konfiqurasiya faylını redaktə edin:

sudo nano /etc/avrdude.conf

Bu sətirləri digər proqramçı təriflərinin olduğu faylın ortasına əlavə edin. Etdiyim proqramçı bölməsini id = "linuxgpio" üçün düz yuxarıya kopyalayıb sonra aşağıya (1274 -cü sətirdə) yapışdırıb sonra yeni bölməni redaktə etməkdir.

proqramçı

id = "pi_1"; desc = "GPIO xətlərini bitbang etmək üçün Linux sysfs interfeysindən istifadə edin"; növü = "linuxgpio"; sıfırlama = 12; sck = 24; mosi = 23; miso = 18;;

Sonra düyməni basaraq faylı qeyd edin: Ctrl-O

Və sonra nano redaktorundan çıxın: Ctrl-X

Addım 6:.hex Flash Faylını /home /pi -ə yükləyin və ya kopyalayın

. Hex flash faylını RPi -yə kopyalayın. Bunu necə edəcəyinizi bilirsiniz. İPUCU: Faylı internetdən RPi -yə endirmək üçün wget, curl, git və ya scp əmrindən istifadə edin.

DIMP 2 -nin.hex faylı, mənbə kodu ilə birlikdə burada:

github.com/dchang0/dimp2

DA PIMP 2 -nin.hex faylının xüsusi versiyası burada. Mən bunu sınamamışam!

github.com/jcwren/DaPimp2

DA PIMP 2 -nin.hex faylının yuxarıdakı versiyası işləmirsə, Mikey Sklar -ın orijinal DA PIMP 2 -nin mənbə kodu buradadır. Bunu işləyən bir.hex faylına özünüz tərtib etməli olacaqsınız. Bu təlimatlarda bunu əhatə etmirəm, çünki uzun (lakin çətin deyil) bir dərs olacaq. Bu mənbə kodundan istifadə edərək bir neçə işləyən DA PIMP 2 qurğusunu uğurla proqramlaşdırdım:

drive.google.com/open?id=0Bx5Als-UeiZbSUdH…

Ya da burada əsas DA PIMP 2 səhifəsinə gedib mənbə kodunun bağlantısını vura bilərsiniz.

mikeysklar.blogspot.com/p/da-pimp-battery-…

. Hex faylını bu yola və fayl adını RPi üzərinə qoyun …

DIMP 2 üçün:

/home/pi/dimp2.hex

DA PIMP 2 üçün:

/home/pi/da_pimp2.hex

Addım 7: Avrdude'nin ATMEGA48V-10PU ilə danışa biləcəyini yoxlayın

DIMP 2 və ya DA PIMP 2 üzərindəki ATMEGA48V-10PU çipi ilə danışa biləcəyinə əmin olmaq üçün avrdude əmrini işlədin.

cd /ev /pi

sudo avrdude -c pi_1 -p m48 -v

Təxminən bir səhifə çıxışı əldə edəcəksiniz. Sona baxın. Belə bir cavab alsanız, davam edə bilərsiniz.

avrdude: AVR cihazı işə salındı və təlimatları qəbul etməyə hazırdır

Oxu | ################################################### | 100% 0.00s

Əks təqdirdə, bir şey səhvdir və bunu anlamalısınız. Çox güman ki, bu səhv bir əlaqədir, amma gördüyüm başqa bir şikayət ATMEGA48V-10PU çipinin saxta olmasıdır. Deyəsən Amazon və ya ebayda satılanların çoxu saxtadır. Mouser və ya Digikey və digər səlahiyyətli distribyutorlar tərəfindən satılanlar orijinaldır.

Addım 8:.hex faylını ATMEGA48V-10PU-ya yandırın

Çipin proqramlaşdırılması üçün bu əmri işlədin …

DIMP 2 üçün:

cd /ev /pi

sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex

DA PIMP 2 üçün:

cd /ev /pi

sudo avrdude -c pi_1 -p m48 -U flaş: w: da_pimp2.hex

Təxminən bir səhifə çıxışı əldə edəcəksiniz. Bu sətirləri axtarın:

avrdude: yazı flaşı (1528 bayt):

Yazı | ################################################### | 100% 0.79s

avrdude: yoxlanılır…

avrdude: 1528 bayt flaşla təsdiqlənmiş avrdude: safemode: Sigortalar OK (E: FF, H: DF, L: 62)

Bu qədər uzaqlaşmısınızsa, gərginlik üçün sıfır göstərən LED ekranı görməlisiniz. Sıfırları görürsən, işin bitdi! Əks təqdirdə, növbəti addıma keçin.

Sıfırları görürsünüzsə, bu əmrlə RPi -ni zərifliklə bağlayın:

sudo bağlanması -h indi

RPi üzərindəki güc işığı söndükdə (DIMP 2 və ya DA PIMP 2 hələ də yanacaq), enerji təchizatını RPi -dən ayıra bilərsiniz. Sonra RPi ilə DIMP 2 və ya DA PIMP 2 arasındakı keçid tellərini ayırın.

Addım 9: Flaş uğursuz olarsa sadə problemlərin aradan qaldırılması

DIMP 2 və ya DA PIMP 2 ekranınızda sıfır görmürsünüzsə, problemi həll etməyin vaxtı gəldi.

Yenə də əvvəlcə kabellərinizi yoxlayın.

Sonra, avrdude tərəfindən göstərilən qoruyucu vəziyyətləri yoxlayın. Çipinizin zavod parametrlərindən fərqli dəyərlərə qoyulmuş sigortalarla birlikdə gəlməsi mümkündür. Çipin tamamilə fərqli bir hardware cihazı tələb edən qoruyucularının sıfırlanması lazım ola bilər. Bu, ebayda satılan bir çox saxta ATMEGA48V-10PU çiplərində bir problemdir-bunlar atılmış qurğulardan çıxarılan köhnə çiplərdir və qoruyucular qoyulub və satıcı sigortaları sıfırlamaqda çətinlik çəkməyib.

Bəzən çip hətta ATMEGA48V-10PU deyil. Yenidən etiketlənmiş fərqli bir çip ola bilər. Adətən çipin üst və altındakı işarələrə diqqətlə baxaraq bu saxtakarlıqları deyə bilərsiniz. ATMEGA48V-10PU'nuzu Mouser və ya Digikey kimi etibarlı bir təchizatçıdan almaq daha ağıllıdır.

Tövsiyə: