următor banc de studiu cu nivel scăzut HD44780după ce a câștigat premiul întâi la una dintre competiții, autorul Instructables sub porecla Indoorgeek a decis să facă un alt stand similar. De această dată, utilizatorul care dorește să se simtă în pantofii „vieții Arduino”, Este posibil să controlați registrul de schimbări - o componentă importantă a afișajelor LED matriciale și nu numai.
Dispozitivul utilizează registrul de schimb 74HC595, care este cel mai adesea întâlnit în practica arduino, și puteți utiliza, de asemenea, compatibilul КР1564ИР52. Folosind trei dintre aceste microcircuite, de exemplu, puteți transforma cinci ieșiri ale unui microcontroler în douăzeci și patru! Și cel propus produs home-made Vă va arăta clar ce procese au loc.
Indoorgeek a asamblat un astfel de stand în două versiuni: pe o pană obișnuită și pe o pană de pâine, astfel:
Puteți face acest lucru după cum doriți, sau chiar aplicați o instalare volumetrică sau puteți face o placă de circuit imprimat. Este mult mai important să nu greșiți în timpul asamblării decât să vă argumentați despre metodele sale.
Componentele din proiectare sunt următoarele: un registru de schimbare de tipul indicat mai sus, o priză pentru un microcircuit cu 16 pini (puteți face fără el), opt LED-uri, același număr de rezistențe cu un singur ohm, trei rezistențe de zece ohm, trei butoane, precum și o placă de adaptare cu o priză Micro USB. Dacă aveți brațe foarte drepte, puteți lua doar mufa Micro USB și lipiți două fire la ea. Și dacă nu doriți să fiți original, puteți folosi doar un cablu cu conector USB obișnuit. Doar polaritatea în toate cazurile, nu confundați, bine, nu aranjați un scurtcircuit.
Registrul nostru de schimburi se numește științific registru de schimb pe opt biți cu trei state. Primul înseamnă că are opt celule de memorie cu un biț și același număr de ieșiri, iar cel de-al doilea - că fiecare dintre biții binari poate lua una dintre cele trei stări: zero, una și impedanță mare. Acesta nu este un blestem, ci o imitație a unei stânci, ca și cum nu ar fi conectată deloc. O ieșire într-o stare înaltă, așa cum spun ei, nu interferează: puteți să o trageți cu un rezistor până la cel puțin zero, chiar și până la unitate, iar el este „de acord”. Dar dacă intră într-o stare de zero sau una, acesta va primi prioritate, deoarece impedanța scăzută de ieșire a microcircuitului va supraîncărca rezistorul.
Microcircuitul are cinci intrări.După cum probabil cititorul a ghicit deja că, cu un număr atât de mic de intrări pentru a obține atât de multe rezultate, trebuie să primiți informații în serie și să le scoateți în paralel. Tastați în același mod pe tastatură sau scrieți pe hârtie rând pe litere cu litere, apoi vedeți tot textul simultan. Dacă conectați mai multe registre de schimb în serie, puteți crește numărul de ieșiri cu numărul corespunzător de ori, dar la aceeași viteză de transfer de date, lanțul lung de registre se va umple mai mult. Analogie: este nevoie de mai mult timp pentru a scrie mai multe coli de hârtie decât pentru a umple doar una cu aceeași viteză.
Dar registrul de schimbare este diferit de hârtie prin faptul că datele din el sunt mutate automat, de unde și numele. Scrieți următorul biț în el și toate cele anterioare sunt mutate mai departe în registru sau în lanțurile lor, același care a fost la sfârșit înainte de a dispărea. Imaginează-ți un tub plin cu bile, unele obișnuite, altele luminoase. Pune următoarea minge în ea - normală sau luminoasă, iar o altă bilă va zbura din partea opusă.
Să facem cunoștință cu scopul intrărilor cipului. Din anumite motive, indoorgeek a decis să le enumere în ordine inversă, ca înainte de a lansa o navă spațială. Al 14-lea pin este necesar pentru a introduce date seriale. Este ca o tavă pe care așezați o bilă obișnuită sau luminoasă înainte de a o împinge în tub. A 13-a concluzie - includerea rezultatelor. Dacă se aplică zero acolo, ieșirile se vor activa ca și cum receptorul ar fi devenit transparent. Dăm una - și tubul a devenit opac, ceea ce bile și în ce ordine este umplut tubul, nu este vizibil. Adică, toate rezultatele registrului de schimburi au intrat într-o stare de impedanță ridicată. În construcția luată în considerare, această concluzie este întotdeauna extrasă la zero, ceea ce este echivalent cu întotdeauna un tub transparent. A 12-a concluzie este un tip de obturator al camerei. Când este zero, imaginea pe care o vede privitorul prin tub nu reflectă starea reală a bilelor din el, ci cea care a fost observată când unitatea a fost văzută ultima dată la această concluzie. Dacă există, mișcarea bilelor în tub poate fi observată în timp real. Pentru ca toate acestea să funcționeze așa cum este descris, în microcircuitul, pe lângă registrul de schimburi, există un registru de stocare. A 11-a concluzie este de ceas, adică împinge mingea din tavă în tub. Dăm o unitate acolo în momentul în care valoarea de care avem nevoie este la a 14-a ieșire și, fără a o elimina de acolo, scoatem unitatea din a 11-a ieșire. A 10-a concluzie este o resetare. Dacă se aplică zero acolo, acest lucru va fi echivalent cu pierderea proprietăților luminoase de către toate bilele din tub. Prin trimiterea unei unități la intrarea de resetare, puteți începe să umpleți din nou tubul cu bile obișnuite și luminoase, în orice ordine, așa cum este descris mai sus. În standul în cauză există întotdeauna o unitate. Concluzia 15, precum și concluziile 1 până la 7, sunt rezultatele registrului de schimburi. Alimentarea este furnizată ca în majoritatea circuitelor digitale cu șase pini: 8 - sârmă comună, 16 - plus cinci volți. În cele din urmă, pinul 9 este ieșirea la următorul registru de schimbare, care poate fi conectat în serie la mai multe bucăți, ca și cum ai face un tub lung din mai multe scurte. În general, conectăm pinul 9 al registrului anterior cu pinul 14 al următorului și ne bucurăm. Puteți îmbunătăți astfel produsul de casă propus.
Deoarece acesta este cel de-al doilea stand pentru indoorgeek, fobia din fața rezistențelor de tragere, descrisă într-un articol anterior, dispare încet din el. Aici există deja trei dintre ele, ceea ce ne-a permis să folosim butoane normal deschise în loc de butoanele de comutare. Rezistențele de 10 kilograme au fost utilizate ca tracțiuni și rezistențe de 1 kilogram pentru LED-uri. La fel ca în proiectul anterior, paralel cu butonul de ceas (a 11-a ieșire), este bine să conectați un condensator de 100 de microfaraduri și cel puțin 6,3 V plus la plusul sursei de alimentare și minus la microcircuitul și rezistența. Se va dovedi cel mai simplu supresor de respingere a contactului.
Repetați după indoorgeek:
Așa că ați reușit:
Acum cum să-l folosesc pe tot. Pentru a introduce o bilă luminoasă în tub, apăsați butonul conectat la borna 14, după care, în timp ce îl țineți, apăsați butonul conectat la terminalul 11, apoi eliberați-l. Apoi, eliberați butonul conectat la pinul 14.Pentru a face același lucru cu o bilă fără lumină, cu un buton conectat la terminalul 14, nu facem nimic și apăsăm și eliberam butonul conectat la terminalul 11. Deci, puteți scrie în registrul de schimburi și câțiva biți. În ambele cazuri, când butonul este eliberat, conectat la terminalul 12, starea LED-urilor nu se va schimba, iar atunci când este apăsat, acesta va reflecta starea registrului de schimb în timp real. Dacă decideți să nu mențineți acest buton apăsat în timpul înregistrării, apăsați-l scurt, iar registrul de stocare va face o poză cu starea actuală a registrului de schimburi.
Deoarece tubul și bilele sunt virtuale, iar microcircuitul și LED-urile sunt reale, pentru privitor, fiecare minge care se încadrează din partea opusă a tubului dispare. Ar exista un alt registru, el s-ar muta acolo. Puteți îmbunătăți acest design adăugând acest registru și chiar mai multe dintre ele și încă opt LED-uri cu rezistențe pentru fiecare dintre ele. După cum s-a indicat mai sus, pinul 9 al fiecărui registru anterior trebuie conectat la pinul 14 al următorului. Și sursa de alimentare și intrările 10, 11, 12 și 13 din toate registrele sunt paralizate.
Așadar, v-ați făcut o idee despre ce operațiuni realizează Arduino controlând registrele de schimb.