LCD 2×16 cu Arduino
Desi au devenit accesibile ca pret dispozitive mult mai performante de afisare, afisajele cu cristale lichide raman destul de interesante si utile pentru electronistii amatori.
In randurile urmatoare voi prezenta pas cu pas modul de conectare a unui LCD 2×16 la Arduino, avand ca scop folosirea librariei LiquidCrystal (care vine cu Arduino IDE) fara nicio modificare sau configurare software.
Avem nevoie de:
- Arduino – eu folosesc aici o varianta produsa de DFRobot, cu ATmega328
- un rezistor semireglabil de 10K
- un mini-breadboard
- un LCD 2×16 (compatibil HD44780)
- mai multe fire electrice cu pini (“jumper wires”)
De la stanga la dreapta privind spre display, pinii sunt urmatorii:
Schema de conectare este urmatoarea:
(sursa: http://arduino.cc/en/uploads/Tutorial/lcd_schem.png)
Pentru inceput, fixam rezistorul semireglabil undeva pe breadboard:
Conectam pinul 5V si GND de la Arduino la breadboard (firul rosu este 5V, iar cel negru de pe exterior masa) si apoi conectam +5V la pinul 15 al LCD-ului (firul alb) si GND la pinul 16 (firul negru). Atentie! La unele ecrane pinii Bklt+ si Bklt- (backlight) sunt inversati, verificati documentatia sau marcajele. In acest moment, daca Arduino este alimentat, LCD-ul ar trebui sa se aprinda.
In continuare realizam urmatoarele conexiuni:
- GND la pinul 1 al LCD-ului
- +5V la pinul 2 al LCD-ului
- GND la unul dintre pinii exteriori ai rezistorului semireglabil (nu are importanta care)
- +5V la celalalt pin exterior al rezistorului
- pinul central al rezistorului la pinul 3 al LCD-ului (firul albastru)
Acum ar trebui sa devina vizibil primul rand de caractere al LCD-ului.
Din semireglabil se poate ajusta contrastul.
Ar trebui ca primul rand de caractere sa fie bine definit. Daca nu obtineti ceva similar, nu mergeti mai departe. Verificati din nou toate conexiunile si ajustati din semireglabil.
Pinul RS “spune” afisajului daca informatia primita pe pinii de date (D0-D7) trebuie afisata sau daca este vorba de o comanda (de exemplu mutarea cursorului). Vom conecta pinul RS (4) al LCD-ului la pinul D12 de pe Arduino.
Pinul RW (5) spune display-ului daca microcontrolerul vrea sa scrie in LCD (de exemplu sa afiseze date sau sa dea comenzi de mutare a cusorului) sau sa citeasca date din LCD (situatie mai putin comuna). Libraria LiquidCrystal nu citeste date din LCD ci numai transmite date catre acesta, prin urmare acest pin poate fi legat la masa, ca in imaginea urmatoare (firul negru).
Pinul E (enable) informeaza LCD-ul ca datele transmise de microcontroler sunt gata pentru a fi citite si va fi legat la pinul D11 de pe Arduino (firul alb):
Pentru a transmite date afisajelor de tip HD44780 se pot folosi 8 pini (D0-D7) sau numai 4 pini (D4-D7). Libraria LiquidCrystal foloseste al doilea mod de comunicatie, cu numai 4 pini, prin urmare vom conecta pinii D4-D7 ai LCD-ului la pinii D5-D2 de pe Arduino, ceilalti fiind lasati neconectati, astfel (firele verzi):
- LCD D4 (11) — Arduino D5
- LCD D5 (12) — Arduino D4
- LCD D6 (13) — Arduino D3
- LCD D7 (14) — Arduino D2
Cu aceasta am incheiat conectarea. Deschideti IDE-ul Arduino, mergeti la Examples -> LiquidCrystal -> HelloWorld si uploadati sketch-ul respectiv. Daca totul a mers bine, veti obtine ceva similar cu imaginea de mai sus. Succes!
Aveti mai jos si un clip care prezinta aproape toate exemplele care vin cu libraria LiquidCrystal (Autoscroll, Blink, Cursor, Display, HelloWorld, Scroll, SetCursor, SetDirection).
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.