Arduino – …..și LCD-ul
LCD – Liquid Crystal Display
Aceste LCD-uri folosesc interacțiunea dintre caracteristicile optice și electrice specifice cristalelor lichide care nu își modifică structura cristalină. Aceste cristale lichide devin opace sau își schimbă culoarea sub influența unui curent sau câmp electric.
LCD-urile nu produc lumină, de aceea e nevoie de o lumină esterioară. Această lumină exterioară este furnizată din spatele LCD-ului cu ajutorul led-urilo, tuburi, etc…. .
Există mai multe tipuri de LCD-uri, dar cele mai comune, utilizate în aplicațiile cu microcontroller sunt 16×2, 16×4.
LCD-ul 16×2 va afișa 32 de caractere.
LCD-ul 16×4 va afișa 64 caractere
De obicei un LCD 16×2 are 16 pini având următoarele roluri :
Număr pin | Nume pini | Descriere |
---|---|---|
1 | Vss | Masă ( Ground ) |
2 | Vdd | +5V |
3 | Vo | Reglare contrast ( de obicei se conectează la un potențiometru ) |
4 | RS | Selectare Registru ( caractere & comandă ) |
5 | RW | Citire / Scriere |
6 | En | Activare ( trimite date la pini când este dat un puls HIGH-LOW ) |
7 | D0 ( Data Line 0 ) | pini date 8-biți |
8 | D1 ( Data Line 1 ) | pini date 8-biți |
9 | D2 ( Data Line 2 ) | pini date 8-biți |
10 | D3 ( Data Line 3 ) | pini date 8-biți |
11 | D4 ( Data Line 4 ) | pini date 8-biți |
12 | D5 ( Data Line 5 ) | pini date 8-biți |
13 | D6 ( Data Line 6 ) | pini date 8-biți |
14 | D7 ( Data Line 7 ) | pini date 8-biți |
15 | A | Lumină spate anod ( A ) |
16 | K | Lumină spate catod ( K ) |
Câteva explicații în plus :
- Reglarea contrastului înseamnă cât de închis ( la culoare ) este ecranul și pinul pentru reglare contrast se conectează la pinul din mijloc a unui potențiometru sau semireglabil.
- Registru de selecție setează LCD-ul in modul comandă sau caracter, adică știe să interpreteze următorul set de date transmis prin pinii de date ( Data Line ). În funcție de starea pinului, datele sunt interpretate ca o comandă ( mută cursorul, etc… ) sau ca un caracter ( ”a”, etc.. ).
- Pinul RW este conectat de obicei la masă, însemnând că vom afișa informații pe ecran și nu vom citi informații de la ecran.
- pinul En este pentru a spune LCD-ului când datele sunt gata de primire.
Acestea fiind spuse despre LCD, să vedem cum implementăm partea software. Arduino IDE vine cu o librărie pentru controlul LCD-ului. Această librărie se numește : LiquidCrystal.h și conține un set de funcții ce face ca totul să fie simplu în conectarea și controlul ecranului LCD.
Pentru mai multe detalii vă rog să studiați această librărie la adresa www.arduino.cc/en/Reference/LiquidCrystal
În exemplul nostru doar vom afișa pe ecran un mesaj, de aceea vom folosi următoarele comenzi :
LiquidCrystal lcd ( 2, 3, 4 ,5 ,6 ,7);
Argumentele acestei funcții reprezintă : RS, En, D4, D5, D6, și D7 în această ordine.
lcd.begin ( 16,2 ); ––––– tipul ecranului
lcd.setCursor ( 0 , 0 ); –––––– poziția de unde începe afișarea caracterelor.
lcd.print ( ”Primul mesaj”); –––––- trimite mesajul ( Primul mesaj )către ecran și îl afișează
Avem următoarea schemă :
Conectarea LCD fără potențiometru pentru contrast și fără backlight ( iluminat spate ). Montajul funcționează corect doar că nu puteți regla contrastul.
Schema cu potențiometru și iluminare spate :
Indiferent de schemă codul sursă este același: