Cuprins:

Cum se utilizează pinii GPIO ai unui Raspberry Pi și Avrdude la programul Bit-bang DIMP 2 sau DA PIMP 2: 9 pași
Cum se utilizează pinii GPIO ai unui Raspberry Pi și Avrdude la programul Bit-bang DIMP 2 sau DA PIMP 2: 9 pași

Video: Cum se utilizează pinii GPIO ai unui Raspberry Pi și Avrdude la programul Bit-bang DIMP 2 sau DA PIMP 2: 9 pași

Video: Cum se utilizează pinii GPIO ai unui Raspberry Pi și Avrdude la programul Bit-bang DIMP 2 sau DA PIMP 2: 9 pași
Video: LED | semnalizator | Raspberry Pi | GPIO 2024, Iulie
Anonim
Cum se utilizează pinii GPIO ai unui Raspberry Pi și Avrdude la programul Bit-bang DIMP 2 sau DA PIMP 2
Cum se utilizează pinii GPIO ai unui Raspberry Pi și Avrdude la programul Bit-bang DIMP 2 sau DA PIMP 2

Acestea sunt instrucțiuni pas cu pas despre cum să utilizați un Raspberry Pi și comanda gratuită open-source avrdude la bit-bang-program un DIMP 2 sau DA PIMP 2. Presupun că sunteți familiarizați cu Raspberry Pi și LINUX Linie de comanda. Nu trebuie să vă familiarizați cu programarea cipurilor AVR, dar vă ajută dacă ceva nu merge bine, deoarece puteți citi rezultatul avrdude și aveți o idee despre ce să faceți.

Această procedură ar trebui să dureze aproximativ 1 oră prima dată și 5 până la 10 minute de fiecare dată după.

Vei avea nevoie:

1) Un Raspberry Pi cu pini GPIO și sursă de alimentare. Folosesc un Raspberry Pi Zero W cu pini GPIO lipiți pe. Sistemul de operare ar trebui să fie Raspberry Pi OS (fost Raspbian). Folosesc Raspbian Lite (Stretch), care este cam vechi. Aceste comenzi ar trebui să funcționeze în continuare pe cea mai recentă versiune a sistemului de operare Raspberry Pi.

În continuare, mă voi referi la Raspberry Pi drept „RPi”.

2) Sârme jumper de la femeie la femeie. Obțineți una dintre aceste culori: roșu, negru, albastru, galben, verde, violet. Folosesc maro în loc de violet.

3) Un DIMP 2 sau DA PIMP 2 cu antetul opțional ICSP cu 10 pini lipit. Folosesc aici un DIMP 2, dar instrucțiunile sunt aceleași pentru DA PIMP 2.

4) Acces la internet pentru RPi, astfel încât să puteți instala comanda gratuită open-source avrdude.

5) O copie a fișierului flash.hex pentru DIMP 2 sau DA PIMP 2. Puteți construi singur fișierul.hex din codul sursă brut, dar nu vă voi arăta cum să faceți acest lucru aici.

6) O modalitate de a vă conecta la RPi - utilizați fie o conexiune de rețea, fie acces direct la consolă. Trebuie să puteți executa comenzi pe acesta.

Pasul 1: Scoateți cablul de alimentare CA și scoateți bateria de 9V

Mai întâi, verificați dacă cablul de alimentare CA este atașat la DIMP 2 sau DA PIMP 2 și conectat la rețeaua de curent alternativ. Dacă da, PERICOL: PERICOL DE ȘOC LETAL. Purtați mănuși de cauciuc și apoi opriți comutatorul basculant principal de pe DIMP 2 sau DA PIMP 2. Apoi, deconectați cablul de alimentare de la rețeaua de curent alternativ și desprindeți cablul de alimentare de la DIMP 2 sau DA PIMP 2. Puteți lua scoateți mănușile de cauciuc după îndepărtarea cablului de alimentare CA.

Apoi, scoateți bateria de 9V. Alimentarea va fi furnizată DIMP 2 de către RPi prin firele roșii (Vcc) și negre (GND). Opriți comutatorul glisant de pe DIMP 2 sau DA PIMP 2 pentru a-l dezactiva pentru orice eventualitate.

Pasul 2: Conectați firele jumper

Cuplați firele jumper
Cuplați firele jumper
Cuplați firele jumper
Cuplați firele jumper
Cuplați firele jumper
Cuplați firele jumper
Cuplați firele jumper
Cuplați firele jumper

Dacă RPi nu este pornit, începeți să conectați firele jumperului. În continuare, pinii GPIO sunt pe Raspberry Pi, iar pinii ICSP sunt pe DIMP 2 (antetul J3) sau DA PIMP 2 (antetul J1).

Consultați diagrama pe care am făcut-o împreună și fotografiile dacă sunteți pierdut.

Porțiunea RPi a diagramei este din pinout.xyz.

Partea ATMEGA48V-10PU a diagramei este copyright 2016 Atmel Corp.

Revendic utilizarea corectă a acestor desene din cauza adăugărilor semnificative, transformatoare.

Negrul trece de la pinul GPIO 6 la pinul ICSP 10. Acesta este GND (la sol)

Galbenul trece de la pinul GPIO 12 la pinul ICSP 9. Acesta este MISO.

Verde trece de la pinul GPIO 16 la pinul ICSP 1. Acesta este MOSI.

Albastrul trece de la pinul GPIO 18 la pinul ICSP 7. Acesta este SCK sau SCLK (SClock)

Violet (maro în fotografiile mele) trece de la pinul 32 GPIO la pinul ICSP 5. Acesta este RESET.

Roșu trece de la pinul GPIO 4 la pinul ICSP 2. Acesta este Vcc (putere 5V)

Pasul 3: Porniți RPi

Acum, continuați și porniți RPi. Partea de voltmetru a DIMP 2 sau DA PIMP 2 ar trebui să se alimenteze și ea, dar nu o veți cunoaște uitându-vă la afișaj. Dacă aveți dubii, măsurați tensiunea cu sonda roșie la pinul 20 de pe ATMEGA48V-10PU și sonda neagră la pinul 4, 6 sau 8 de pe antetul ICSP. Ar trebui să fie în jur de 5VDC.

Pasul 4: Instalați Avrdude

Instrucțiunile mele vor afișa numai comenzile din linia de comandă. Dacă aveți o interfață grafică care rulează, veți dori să deschideți un terminal pentru a rula aceste comenzi din linia de comandă.

Conectați-vă ca utilizator implicit pi. Parola implicită este zmeură

Instalați comanda avrdude tastând următoarele la promptul de comandă terminal:

sudo apt-get install avrdude

Pasul 5: Editați fișierul de configurare Avrdude

Editați fișierul de configurare avrdude tastând:

sudo nano /etc/avrdude.conf

Adăugați aceste linii la mijlocul fișierului unde se află celelalte definiții ale programatorului. Ceea ce am făcut este să copiez secțiunea de programare chiar deasupra ei pentru id = "linuxgpio", apoi o lipesc chiar mai jos (la linia 1274), apoi am editat noua secțiune.

programator

id = "pi_1"; desc = "Utilizați interfața Linux sysfs pentru a liniile bitbang GPIO"; type = "linuxgpio"; reset = 12; sck = 24; mosi = 23; miso = 18;;

Apoi salvați fișierul apăsând: Ctrl-O

Și apoi părăsiți editorul nano apăsând: Ctrl-X

Pasul 6: Descărcați sau copiați fișierul.hex Flash în / home / pi

Copiați fișierul flash.hex în RPi. Presupun că știi cum să faci asta. SUGESTIE: Utilizați comanda wget, curl, git sau scp pentru a descărca fișierul de pe web către RPi.

Fișierul.hex al DIMP 2 este aici, împreună cu codul sursă:

github.com/dchang0/dimp2

O versiune personalizată a fișierului.hex al lui DA PIMP 2 este aici. Nu am testat asta!

github.com/jcwren/DaPimp2

Dacă versiunea de mai sus a fișierului.hex al DA PIMP 2 nu funcționează, codul sursă original al DA PIMP 2 al lui Mikey Sklar este aici. Va trebui să îl compilați într-un fișier.hex funcțional. Nu acoper acest lucru în aceste instrucțiuni, deoarece va fi un tutorial lung (dar nu dificil). Am programat cu succes mai multe unități DA PIMP 2 funcționale folosind acest cod sursă:

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

Sau puteți accesa pagina principală DA PIMP 2 aici și faceți clic pe linkul către codul sursă.

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

Puneți fișierul.hex la această cale și numele fișierului pe RPi …

Pentru DIMP 2:

/home/pi/dimp2.hex

Pentru DA PIMP 2:

/home/pi/da_pimp2.hex

Pasul 7: Verificați dacă Avrdude poate vorbi cu ATMEGA48V-10PU

Rulați comanda avrdude pentru a vă asigura că poate vorbi cu cipul ATMEGA48V-10PU de pe DIMP 2 sau DA PIMP 2.

cd / home / pi

sudo avrdude -c pi_1 -p m48 -v

Veți obține aproximativ o pagină de ieșire. Uită-te la final. Dacă primiți un răspuns ca acesta, atunci puteți continua.

avrdude: dispozitivul AVR inițializat și gata să accepte instrucțiunile

Citirea | ###################################################### | 100% 0,00

Dacă nu, atunci ceva nu este în regulă și ar trebui să-ți dai seama. Cel mai probabil este un cablu greșit, dar o altă plângere obișnuită pe care am văzut-o este că cipul ATMEGA48V-10PU este fals. Se pare că multe dintre ele vândute pe Amazon sau eBay sunt falsuri. Cele vândute de Mouser sau Digikey și de alți distribuitori autorizați sunt autentice.

Pasul 8: Introduceți fișierul.hex pe ATMEGA48V-10PU

Rulați această comandă pentru a efectua programarea cipului …

Pentru DIMP 2:

cd / home / pi

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

Pentru DA PIMP 2:

cd / home / pi

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

Veți obține aproximativ o pagină de ieșire. Căutați aceste linii:

avrdude: scriere flash (1528 octeți):

Scrierea | ###################################################### | 100% 0.79s

avrdude: verificarea …

avrdude: 1528 octeți de bliț verificat avrdude: safemode: Siguranțe OK (E: FF, H: DF, L: 62)

Dacă ați ajuns până aici, ar trebui să vedeți afișajul LED care arată zero-uri pentru tensiune. Dacă vedeți zero-urile, ați terminat! Dacă nu, treceți la pasul următor.

Dacă vedeți zero-urile, închideți cu grație RPi cu această comandă:

sudo shutdown -h acum

Când lampa de alimentare de pe RPi se stinge (DIMP 2 sau DA PIMP 2 vor fi în continuare aprinse), puteți deconecta sursa de alimentare de la RPi. Apoi deconectați firele jumperului între RPi și DIMP 2 sau DA PIMP 2.

Pasul 9: Depanare simplă dacă blițul a eșuat

Dacă nu vedeți zero pe afișajul DIMP 2 sau DA PIMP 2, atunci este timpul să depanați.

Din nou, verificați mai întâi cablajul.

Apoi, verificați stările siguranței afișate de avrdude. Este posibil ca cipul dvs. să fi venit cu siguranțele setate la valori diferite de cele implicite din fabrică. Este posibil ca cipul să aibă nevoie de resetarea siguranțelor, ceea ce necesită un dispozitiv hardware complet diferit. Aceasta este o problemă cu multe dintre cipurile false ATMEGA48V-10PU vândute pe eBay - sunt cipuri vechi extrase din hardware-ul aruncat, iar siguranțele au fost setate, iar vânzătorul nu s-a deranjat să reseteze siguranțele.

Uneori cipul nu este nici măcar un ATMEGA48V-10PU. Ar putea fi un cip diferit reetichetat. De obicei, puteți spune aceste falsuri uitându-vă cu atenție la marcajele din partea superioară și inferioară a cipului. Este mai înțelept să obțineți ATMEGA48V-10PU printr-un furnizor de încredere, cum ar fi Mouser sau Digikey.

Recomandat: