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 pinNume piniDescriere
1VssMasă ( Ground )
2Vdd+5V
3VoReglare contrast ( de obicei se conectează la un potențiometru )
4RSSelectare Registru ( caractere & comandă )
5RWCitire / Scriere
6EnActivare ( trimite date la pini când este dat un puls HIGH-LOW )
7D0 ( Data Line 0 )pini date 8-biți
8D1 ( Data Line 1 )pini date 8-biți
9D2 ( Data Line 2 )pini date 8-biți
10D3 ( Data Line 3 )pini date 8-biți
11D4 ( Data Line 4 )pini date 8-biți
12D5 ( Data Line 5 )pini date 8-biți
13D6 ( Data Line 6 )pini date 8-biți
14D7 ( Data Line 7 )pini date 8-biți
15ALumină spate anod ( A )
16KLumină 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: