» electronică »Banc pentru studierea HD44780 la un nivel scăzut

Bază de studiu HD44780 de nivel scăzut



Ai scris în program pentru Arduino ceva de genul:

lcd.print ("Bună ziua, lume!")


Consiliul a executat obedient comanda, iar textul a apărut pe afișaj. Dar cum un dispozitiv „a spus” ceva, iar al doilea „a auzit” și „a înțeles”? Aceasta este ca și cum i-ai cere artistului să-ți facă portretul, dar să nu vezi cum lucrează la el. Autorul Instructsbles, poreclit Indoorgeek, a venit cu un stand care vă va ajuta să vă simțiți în pantofii „Arduino viu” și să conduceți HD44780 la un nivel scăzut. Într-unul din concursuri, acest lucru produs home-made a câștigat primul premiu.

Există câteva detalii pentru acesta: orice modul (LCD, VLI sau PMOLED) de pe controlerul HD44780 sau compatibil, opt comutatoare de comutare, un buton fără fixare, un comutator de glisare, o rezistență variabilă de 1 kΩ, o placă cu priză Micro USB și o carcasă.








Din ceea ce nu este arătat în fotografie, avem nevoie de: un rezistor de 10 kOhm și un condensator de 100 μF și de cel puțin 6,3 V.

Indoorgeek însuși a luat un modul de cel mai comun tip: LCD, 16 caractere pe linie, două linii. Însă restul modulelor au același principiu de control, doar pinout-ul poate diferi ușor, așa că nu vă lăsați prea lene să vă uitați în fișa tehnică.

În toate cazurile, conexiunea la cablul comun corespunde la zero logic, iar conexiunea la magistrala de putere de +5 volți corespunde unității.

Pinii 1 și 2 sunt alimentați modulul. Primul dintre ele este întotdeauna conectat la un fir comun, iar al doilea este întotdeauna cu un bus de alimentare.

Pinul 3 este pentru reglarea contrastului. Când o tensiune de la 0 la 5 volți i se aplică în raport cu firul comun, contrastul se schimbă de la zero la maxim.

Pinul 4 vă permite să alegeți între un registru de date și un registru de instrucțiuni. Dăm un zero logic - este selectat registrul de instrucțiuni (cu alte cuvinte, comenzile), unitatea este registrul de date.

Instrucțiunile pot fi, de exemplu, următoarele: inițializați controlerul, ștergeți ecranul etc., iar datele includ semne pe care le veți afișa pe indicator.

Dimpotrivă, puteți citi date dintr-un registru. Pentru a face acest lucru, trebuie să aplicați un nivel ridicat la pinul 5, iar afișajul va trece în modul de ieșire a informațiilor înapoi la microcontroler. Pentru a începe să scrieți din microcontroler pe controlerul de afișare din nou, trebuie să trimiteți nivelul 5 mic până la pinul 5. Destul de des, modul de citire nu este folosit deloc, ca de exemplu în acest produs de casă.

Conform pinilor 7 - 14, afișajul poate schimba comenzi și date în codare pe 8 biți. Cel mai scăzut nivel corespunde pinului 7, cel mai înalt - 14.

Pinul 6 este necesar pentru îngrădire.Setează încet datele pe pinii 7 până la 14, dar, deși pinul 6 este un zero logic, modulul nu răspunde deloc la acest lucru. Apoi, fără a schimba starea pinilor 7 la 14, trimiteți un impuls de înaltă durată de scurtă durată la pinul 7 - iar datele sunt transmise.

Concluzii 15 și 16 - nutriția luminii de fundal, dacă este cazul. 15 - plus, 16 - minus.

Disponibil pentru indorgeek, carcasa s-a dovedit a avea dimensiuni de 200x150x40 milimetri. Acest caz a fost luat dintr-un alt, dezasamblat de casă și deja erau găuri în el. Stăpânul le-a folosit la maxim în noul design pentru a le face pe cât mai puține.



El a setat opt ​​comutatoare pentru schimbarea stării liniilor de date / magistrale, un comutator pentru alegerea dintre registre (vezi mai sus), un buton pentru închidere, un rezistor variabil pentru reglarea continuă a contrastului.

Placa de sus cu o priză Micro USB are pini convenabili care facilitează conectarea cablurilor. Doar două dintre ele sunt necesare aici: +5 V și un fir comun. Dacă nu aveți o astfel de placă și o priză Micro USB lipită de undeva pare incomodă pentru lipire, puteți lua doar un cablu cu conector USB. În orice caz, să repetăm ​​după master și lipire o astfel de schemă:



Contactele întrerupătoarelor de comutare corespunzătoare poziției superioare, s-au conectat împreună și au depus un plus asupra lor. El a procedat la fel cu contactele întrerupătoarelor de comutare corespunzătoare poziției inferioare, doar că le-a dat un minus. El a conectat contactele mobile ale comutatoarelor de comutare nu una cu cealaltă, ci cu concluziile comenzilor magistrala / modulul de date în conformitate cu „greutatea” ambelor (D0 - pin 7 - bitul cel mai puțin semnificativ, D7 - pin 14 - cel mai mare). Dacă stăpânii nu ar fi mușcat rezistențe furioase de tragere în copilărie, el ar putea folosi întrerupătoare de comutare mai simple - nu comutatoare, ci în mod normal deschise.

Dar aceleași rezistențe, dar în circuitele de suprimare a respinsului de contact, el nu a fost niciodată jignit. Aici, acest circuit este necesar pentru ca controlerul de afișare să nu ia o singură apăsare a butonului stroboscop pentru mai multe. Alte controale nu necesită suprimarea chat-ului, deoarece nu se primesc impulsuri stroboscopice, datele de pe liniile rămase se pot schimba de mai multe ori după cum doriți. Principalul lucru este să nu atingeți comutatoarele și comutatorul cu butonul apăsat. Deci, cu un rezistor de 10 kOhm, stăpânul a tras știftul 6 de sârmă comună, și cu butonul spre busul plus. Deoarece rezistența butonului este mult mai mică, atunci când este apăsat, acesta „trage”. Când este eliberat, rezistența sa devine aproape de infinit, iar rezistența îl „trage” deja. Un condensator de 100 uF (care nu este prezentat în diagramă), conectat printr-un plus la magistrala plus și cu un minus la rezistență și la a șasea ieșire a afișajului, suprima chat-ul. Bineînțeles, este mai bine să suprimați chatul cu un buton de comutare și declanșator RS.

La comutatorul de diapozitive, ieșirile contactelor fixe sunt conectate în același mod ca și pentru comutatoarele de comutare, iar comutatorul mobil este conectat la ieșirea modulului 6. Aici, dezvoltatorul a arătat din nou o frică de rezistențe de tragere. Acest comutator este necesar pentru a alege între modurile de transmisie a comenzilor (zero) și a datelor (unitate).

Indoorgeek a conectat ieșirea rezistenței variabile corespunzătoare contrastului minim cu firul comun, opus bus-ului plus, și mijlocul (motorului) la a treia ieșire a modulului.

Concluzii 1, 5 și 16 (respectiv putere minus, scriere / citire și minus iluminare de fundal) maestrul conectat la un fir comun, astfel, modul de înregistrare este selectat constant. Concluzii 2 și 15 (respectiv, plus putere și plus iluminare de fundal), el a conectat la magistrala de cinci volți. În modulul de afișare este integrată o rezistență de limitare a curentului prin LED-urile de fundal.

Dacă ați colectat toate acestea, în fața dvs. acum - ceva de genul:



Panoul frontal indoorgeek proiectat astfel încât să puteți face același lucru:



Puteți afla comenzile controlorului HD44780 și cum să le controlați foaie de date. Puteți vedea, de asemenea, exemple de script-uri pregătite Simulator. Pentru început, vom repeta pașii din spatele indoorgeek pentru a afișa BUN!

Porniți dispozitivul. Lumina de fundal se va aprinde. Mutați comutatorul de diapozitive în poziția corespunzătoare zeroului logic, astfel încât indicatorul să treacă la modul de primire a comenzilor. Setați numărul binar 00001111 pe magistrala de comandă / date cu comutatoarele de comutare și apăsați scurt butonul stroboscop. Această comandă înseamnă: porniți afișajul, faceți vizibil cursorul și clipește, ceea ce se va întâmpla. În același mod, vom emite comanda 00110000, ceea ce înseamnă: primiți date în format 8 biți, selectați prima linie și font 5 cu 8 pixeli. Vizual, nu se va întâmpla nimic, dar undeva în interiorul controlerului de afișare vor apărea comutatoarele necesare. Puteți transfera date. Traducem comutatorul de diapozitive în poziția corespunzătoare unității logice, acum modulul indicator este gata să le accepte. Setați codul ASCII al literei H, adică 01001000, comutați comutatoarele de comutare ale magistralei și apăsați butonul stroboscop. Pe ecran apare litera corespunzătoare, iar cursorul deplasează o poziție spre dreapta. În mod similar, vom trece literele E, L, L, O și semnul exclamării: 01000101, 01001100, 01001100, 01001111, 00100001. Dacă ați făcut același lucru, nu contează pe suportul pe care tocmai l-ați asamblat sau în simulator, veți vedea inscripția HELLO ! Astfel:



Așa ați înțeles cât de mult face Arduino pentru a afișa doar câteva personaje. Și există echipe pentru a efectua acțiuni mai complexe, având stăpânire pe care, puteți obține efecte interesante, definiți caractere non-standard ...

Excursia dvs. în „bucătărie” a bibliotecii Arduino LiquidCrystal abia începe, și lăsați-o să fie distractivă!
7.5
7.5
7.5

Adaugă un comentariu

    • zâmbetzâmbetexaxabinedontknowYahooNea
      șefzgârieturăpăcălidada-daagresivsecret
      scuzedansdance2dance3iertareajutorbăuturi
      oprireprietenibungoodgoodfluiersincopălimbă
      fumaplauzeCrayvestimbatjocoritorDon-t_mentiondescărcare
      căldurămânioslaugh1mdaîntâlniremoskingnegativ
      not_ifloricele de porumbpedepsicititsperiasperiecăutare
      batjocurăthank_youacestto_clueUmnikacutconveni
      răubeeeblack_eyeblum3roșilăudăroșenieplictiseală
      cenzuratpleasantrysecret2amenințavictorieyusun_bespectacled
      ShokRespektlolprevedbun venitKrutoyya_za
      ya_dobryiajutorne_huliganne_othodifludinterdicțieînchide

Vă sfătuim să citiți:

Înmânează-l pentru smartphone ...