Turinys:

Kaip naudoti „Raspberry Pi“GPIO smeigtukus ir „Avrdude“„Bit-bang“programai DIMP 2 arba DA PIMP 2: 9 žingsniai
Kaip naudoti „Raspberry Pi“GPIO smeigtukus ir „Avrdude“„Bit-bang“programai DIMP 2 arba DA PIMP 2: 9 žingsniai

Video: Kaip naudoti „Raspberry Pi“GPIO smeigtukus ir „Avrdude“„Bit-bang“programai DIMP 2 arba DA PIMP 2: 9 žingsniai

Video: Kaip naudoti „Raspberry Pi“GPIO smeigtukus ir „Avrdude“„Bit-bang“programai DIMP 2 arba DA PIMP 2: 9 žingsniai
Video: BTT Manta M8P v2 - Basics with CB1 v2.2 2024, Lapkritis
Anonim
Kaip naudoti „Raspberry Pi“GPIO kaiščius ir „Avrdude“„Bit-bang“programai DIMP 2 arba DA PIMP 2
Kaip naudoti „Raspberry Pi“GPIO kaiščius ir „Avrdude“„Bit-bang“programai DIMP 2 arba DA PIMP 2

Tai yra žingsnis po žingsnio instrukcijos, kaip naudoti „Raspberry Pi“ir nemokamą atvirojo kodo komandą „avrdude“, kad būtų galima užprogramuoti „DIMP 2“arba „DA PIMP 2“. Manau, kad esate susipažinę su „Raspberry Pi“ir „LINUX“komandinė eilutė. Jūs neturite būti susipažinęs su AVR lustų programavimu, tačiau tai padeda, jei kažkas negerai, nes galite perskaityti avrdude išvestį ir turėti idėjų, ką daryti.

Ši procedūra pirmą kartą turėtų trukti apie 1 valandą, o po to - nuo 5 iki 10 minučių.

Jums reikės:

1) „Raspberry Pi“su GPIO kaiščiais ir maitinimo šaltiniu. Aš naudoju „Raspberry Pi Zero W“su lituotais GPIO kaiščiais. OS turėtų būti Raspberry Pi OS (anksčiau Raspbian). Aš naudoju seną „Raspbian Lite“(„Stretch“). Šios komandos vis tiek turėtų veikti naujausioje „Raspberry Pi“OS versijoje.

Toliau Raspberry Pi vadinsiu „RPi“.

2) jungiamieji laidai nuo moterų iki moterų. Gaukite vieną iš šių spalvų: raudona, juoda, mėlyna, geltona, žalia, violetinė. Aš naudoju rudą, o ne violetinę.

3) DIMP 2 arba DA PIMP 2 su pasirinktine 10 kontaktų ICSP antrašte. Čia naudoju DIMP 2, tačiau DA PIMP 2 nurodymai yra tokie patys.

4) RPi interneto prieiga, kad galėtumėte įdiegti nemokamą atvirojo kodo komandą avrdude.

5) „DIMP 2“arba „DA PIMP 2“.hex „flash“failo kopija. Galite sukurti.hex failą patys iš pirminio šaltinio kodo, bet aš čia nerodysiu, kaip tai padaryti.

6) Tam tikras prisijungimo prie RPi būdas-naudokite tinklo ryšį arba tiesioginę prieigą prie konsolės. Turite sugebėti vykdyti komandas.

1 žingsnis: Nuimkite kintamosios srovės maitinimo laidą ir išimkite 9 V bateriją

Pirmiausia patikrinkite, ar kintamosios srovės maitinimo laidas prijungtas prie DIMP 2 arba DA PIMP 2 ir prijungtas prie kintamosios srovės tinklo. Jei taip, PAVOJUS: METALINIO ŠOKO PAVOJUS. Mūvėkite gumines pirštines ir išjunkite pagrindinį DIMP 2 arba DA PIMP 2 svirtinį jungiklį. Tada atjunkite kintamosios srovės maitinimo laidą iš kintamosios srovės tinklo ir atjunkite kintamosios srovės maitinimo laidą nuo DIMP 2 arba DA PIMP 2. nuėmus kintamosios srovės maitinimo laidą, nuimkite gumines pirštines.

Tada išimkite 9 V bateriją. Maitinimas į DIMP 2 bus tiekiamas RPi per raudonus (Vcc) ir juodus (GND) laidus. Kiekvienam atvejui išjunkite DIMP 2 arba DA PIMP 2 slankiklį.

2 žingsnis: prijunkite trumpiklius

Prijunkite trumpiklius
Prijunkite trumpiklius
Prijunkite trumpiklius
Prijunkite trumpiklius
Prijunkite trumpiklius
Prijunkite trumpiklius
Prijunkite trumpiklius
Prijunkite trumpiklius

Kai RPi neįjungtas, pradėkite jungti trumpiklius. Toliau GPIO kaiščiai yra ant Raspberry Pi, o ICSP kaiščiai - ant DIMP 2 (antraštė J3) arba DA PIMP 2 (antraštė J1).

Jei pasiklydote, žiūrėkite diagramą, kurią suklojau, ir nuotraukas.

Diagramos RPi dalis yra iš pinout.xyz.

ATMEGA48V-10PU diagramos dalis yra autorių teisių 2016 m. „Atmel Corp.

Aš reikalauju sąžiningai naudoti šiuos brėžinius dėl reikšmingų, transformuojančių papildymų.

Juoda spalva pereina nuo GPIO kaiščio 6 prie ICSP kaiščio 10. Tai GND (žemė)

Geltona spalva pereina nuo GPIO kaiščio 12 prie ICSP kaiščio 9. Tai MISO.

Žalia spalva pereina nuo GPIO kaiščio 16 prie ICSP kaiščio 1. Tai yra MOSI.

Mėlyna spalva pereina nuo GPIO kaiščio 18 prie ICSP kaiščio 7. Tai yra SCK arba SCLK (SClock)

Violetinė (mano nuotraukose ruda) pereina nuo GPIO kaiščio 32 prie ICSP kaiščio 5. Tai yra RESET.

Raudona spalva pereina nuo GPIO kaiščio 4 prie ICSP kaiščio 2. Tai yra „Vcc“(5 V galia)

3 žingsnis: Įjunkite RPi

Dabar eikite į priekį ir įjunkite RPi. DIMP 2 arba DA PIMP 2 voltmetro dalis taip pat turėtų įsijungti, tačiau pažvelgę į ekraną to nepažinsite. Jei abejojate, išmatuokite įtampą raudonu zondu prie ATMEGA48V-10PU 20 kaiščio ir juodu zondu 4, 6 arba 8 kaiščiu ICSP antraštėje. Tai turėtų būti apie 5 VDC.

4 veiksmas: įdiekite „Avrdude“

Mano instrukcijose bus rodomos tik komandinės eilutės komandos. Jei veikia GUI, norėsite atidaryti terminalą, kad paleistumėte šias komandų eilutės komandas.

Prisijunkite kaip numatytasis vartotojas pi. Numatytasis slaptažodis yra avietė

Įdiekite komandą avrdude, terminalo komandų eilutėje įvesdami:

sudo apt-get install avrdude

5 veiksmas: redaguokite „Avrdude“konfigūracijos failą

Redaguokite avrdude konfigūracijos failą įvesdami:

sudo nano /etc/avrdude.conf

Pridėkite šias eilutes prie failo vidurio, kur yra kiti programuotojo apibrėžimai. Ką aš padariau, nukopijavau programuotojo skyrių tiesiai virš jo, id = "linuxgpio", tada įklijuokite jį tiesiai žemiau (1274 eilutėje), tada redagavau naują skyrių.

programuotojas

id = "pi_1"; desc = "Naudokite" Linux sysfs "sąsają, kad bitbang GPIO eilutes"; tipas = "linuxgpio"; atstatyti = 12; sck = 24; mosi = 23; miso = 18;;

Tada išsaugokite failą paspausdami: Ctrl-O

Tada uždarykite „nano“redaktorių paspausdami: „Ctrl-X“

6 veiksmas: atsisiųskite arba nukopijuokite.hex Flash failą į /home /pi

Nukopijuokite.hex „flash“failą į RPi. Manau, jūs žinote, kaip tai padaryti. PATARIMAS: naudokite komandą „wget“, „curl“, „git“arba „scp“, kad pašalintumėte failą iš žiniatinklio į RPi.

Čia yra DIMP 2.hex failas ir šaltinio kodas:

github.com/dchang0/dimp2

Čia yra pritaikyta DA PIMP 2.hex failo versija. Aš to neišbandžiau!

github.com/jcwren/DaPimp2

Jei aukščiau pateikta DA PIMP 2.hex failo versija neveikia, čia yra originalus Mikey Sklar DA PIMP 2 šaltinio kodas. Turėsite patys ją sukompiliuoti į veikiantį.hex failą. Šiose instrukcijose to neaptariu, nes tai bus ilgas (bet ne sunkus) mokymas. Sėkmingai užprogramavau kelis veikiančius DA PIMP 2 įrenginius naudodami šį šaltinio kodą:

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

Arba čia galite pereiti į pagrindinį DA PIMP 2 puslapį ir spustelėti nuorodą į šaltinio kodą.

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

Įdėkite.hex failą šiuo keliu ir failo pavadinimą RPi …

DIMP 2:

/home/pi/dimp2.hex

DA PIMP 2:

/home/pi/da_pimp2.hex

7 veiksmas: patikrinkite, ar „Avrdude“gali kalbėti su ATMEGA48V-10PU

Vykdykite komandą avrdude, kad įsitikintumėte, jog ji gali kalbėti su ATMEGA48V-10PU mikroschema DIMP 2 arba DA PIMP 2.

cd /home /pi

sudo avrdude -c pi_1 -p m48 -v

Gausite apie išvesties puslapį. Pažiūrėkite į pabaigą. Jei gausite tokį atsakymą, galite tęsti.

avrdude: AVR įrenginys inicijuotas ir paruoštas priimti nurodymus

Skaitymas | ############################################### | 100% 0,00

Jei ne, tada kažkas negerai ir turėtumėte tai išsiaiškinti. Greičiausiai tai yra netinkamas laidas, tačiau dar vienas įprastas skundas, kurį mačiau, yra tas, kad ATMEGA48V-10PU mikroschema yra suklastota. Atrodo, kad daugelis jų, parduodamų „Amazon“ar „ebay“, yra klastotės. Tie, kuriuos parduoda „Mouser“ar „Digikey“ir kiti įgalioti platintojai, yra tikri.

8 veiksmas: paleiskite.hex failą į ATMEGA48V-10PU

Vykdykite šią komandą, kad suprogramuotumėte lustą …

DIMP 2:

cd /home /pi

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

DA PIMP 2:

cd /home /pi

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

Gausite apie išvesties puslapį. Ieškokite šių eilučių:

avrdude: rašymo blykstė (1528 baitai):

Rašymas | ############################################### | 100% 0,79

avrdude: tikrinama …

avrdude: 1528 baitai patikrintos blykstės avrdude: saugus režimas: saugikliai gerai (E: FF, H: DF, L: 62)

Jei pasiekėte taip toli, turėtumėte pamatyti LED ekraną, rodantį įtampos nulius. Jei matote nulius, baigsite! Jei ne, pereikite prie kito veiksmo.

Jei matote nulius, gražiai išjunkite savo RPi naudodami šią komandą:

sudo shutdown -h dabar

Kai RPi maitinimo lemputė užgęsta (DIMP 2 arba DA PIMP 2 vis tiek degs), galite atjungti maitinimo šaltinį nuo RPi. Tada atjunkite trumpiklius nuo RPi ir DIMP 2 arba DA PIMP 2.

9 veiksmas: paprastas trikčių šalinimas, jei „Flash“nepavyko

Jei nematote nulių savo DIMP 2 arba DA PIMP 2 ekrane, atėjo laikas pašalinti triktis.

Vėlgi, pirmiausia patikrinkite laidus.

Tada patikrinkite saugiklių būsenas, parodytas avrdude. Gali būti, kad jūsų mikroschemoje saugikliai buvo nustatyti į skirtingas vertes, nei numatyta gamykloje. Lustui gali tekti iš naujo nustatyti saugiklius, o tam reikalingas visiškai kitoks aparatūros įrenginys. Tai problema, susijusi su daugeliu netikrų „ATMEGA48V-10PU“mikroschemų, parduodamų „ebay“-tai senos mikroschemos, ištrauktos iš išmestos aparatūros, o saugikliai buvo nustatyti, o pardavėjas nesivargino iš naujo nustatyti saugiklių.

Kartais lustas nėra net ATMEGA48V-10PU. Tai gali būti kitoks mikroschemos etiketė. Paprastai jūs galite pasakyti apie šiuos klastotes atidžiai pažvelgę į žymes viršuje ir apačioje. Išmintingiau įsigyti ATMEGA48V-10PU per patikimą tiekėją, pvz., „Mouser“ar „Digikey“.

Rekomenduojamas: