În acest tutorial, vă voi explica cum să configurați un LCD pe un Arduino și vă voi arăta toate modurile diferite în care îl puteți programa. Vă voi arăta cum să imprimați text, să derulați textul, să creați caractere personalizate, să clipiți textul și să poziționați textul. Sunt excelente pentru orice proiect care emite date și pot face proiectul dvs. mult mai interesant și mai interactiv.

afișare eu sunt, folosind un 16×2 display LCD pe care l-am cumpărat pentru aproximativ 5 dolari. S-ar putea să vă întrebați de ce se numește LCD 16×2., Partea 16×2 înseamnă că ecranul LCD are 2 linii și poate afișa 16 caractere pe linie. Prin urmare, un ecran LCD de 16×2 poate afișa până la 32 de caractere simultan. Este posibil să se afișeze mai mult de 32 de caractere cu defilare, deși.codul din acest articol este scris pentru LCD-urile care folosesc driverul standard Hitachi HD44780. Dacă ecranul LCD are 16 pini, atunci probabil are driverul Hitachi HD44780. Aceste afișaje pot fi conectate fie în modul 4 biți, fie în modul 8 biți. Cablarea LCD-ului în modul 4 biți este de obicei preferată, deoarece utilizează patru fire mai puțin decât modul 8 biți., În practică, nu există o diferență notabilă de performanță între cele două moduri. În acest tutorial, voi conecta ecranul LCD în modul 4 biți.

BONUS: am făcut un ghid de pornire rapidă pentru acest tutorial pe care îl puteți descărca și reveni mai târziu dacă nu puteți configura acest lucru chiar acum. Acesta acoperă toate etapele, diagrame, și Codul de care aveți nevoie pentru a începe.

conectarea ecranului LCD la Arduino

Iată o diagramă a pinilor de pe ecranul LCD pe care îl folosesc. Conexiunile de la fiecare pin la Arduino vor fi aceleași, dar pinii dvs. ar putea fi aranjați diferit pe ecranul LCD., Fi sigur de a verifica foaia de date sau uita-te pentru etichete pe un anumit LCD:

de Asemenea, s-ar putea nevoie pentru a lipi un pin 16 antet de la LCD înainte de conectare la un breadboard. Urmați schema de mai jos pentru sârmă LCD pentru Arduino:

rezistor în diagrama de mai sus setează luminozitatea iluminării de fundal. O valoare tipică este de 220 ohmi, dar și alte valori vor funcționa., Rezistențele mai mici vor face lumina de fundal mai strălucitoare.

potențiometrul este utilizat pentru a regla contrastul ecranului. De obicei folosesc un potențiometru 10k Ohm, dar și alte valori vor funcționa.

Aici e datasheet pentru 16×2 LCD cu toate informațiile tehnice despre display:

16×2 LCD Datasheet

Programare Arduino

Toate din codul de mai jos folosește LiquidCrystal libraria care vine pre-instalat cu Arduino IDE., O bibliotecă este un set de funcții care pot fi adăugate cu ușurință la un program într-un format abreviat.pentru a utiliza o bibliotecă, aceasta trebuie inclusă în program. Linia 1 din Codul de mai jos face acest lucru cu comanda #include <LiquidCrystal.h>. Când includeți o bibliotecă într-un program, tot codul din bibliotecă este încărcat în Arduino împreună cu codul pentru programul dvs.

acum suntem gata să intrăm în programare! Voi trece peste mai multe lucruri interesante pe care le puteți face într-o clipă, dar deocamdată vă permite să rulați doar un simplu program de testare. Acest program va imprima ” Bună ziua, lume!,”pe ecran. Introduceți acest cod în Arduino IDE și încărcați-l la bord:

#include <LiquidCrystal.h>LiquidCrystal lcd(12, 11, 5, 4, 3, 2);void setup() { lcd.begin(16, 2); lcd.print("hello, world!");}void loop() {}

ecran LCD ar trebui să arate astfel:

Display LCD Opțiuni

sunt 19 funcții diferite în LiquidCrystal bibliotecă disponibile pentru noi de a utiliza. Aceste funcții fac lucruri precum schimbarea poziției textului, mutarea textului pe ecran sau activarea sau dezactivarea afișajului. Ceea ce urmează este o scurtă descriere a fiecărei funcții și modul de utilizare a acesteia într-un program.,

LiquidCrystal()

LiquidCrystal() funcția setează pinii Arduino utilizează pentru a se conecta la LCD. Puteți utiliza oricare dintre pinii digitali Arduino pentru a controla ecranul LCD. Doar puneți numerele PIN Arduino în paranteze în această ordine:

LiquidCrystal(RS, E, D4, D5, D6, D7)

RS, e, D4, D5, D6, D7 sunt pinii LCD.

de exemplu, spuneți că doriți ca PIN-ul LCD D7 să se conecteze la PIN-ul Arduino 12., Doar puneți „12”în locul D7 în funcția astfel:

LiquidCrystal(RS, E, D4, D5, D6, 12)

această funcție trebuie plasată înainte de secțiunea void setup() a programului.

lcd.begin()

Această funcție setează dimensiunile ecranului LCD. Trebuie să fie plasat înaintea oricărei alte funcții LiquidCrystal în secțiunea void setup() a programului. Numărul de rânduri și coloane sunt specificate ca lcd.begin(columns, rows)., Pentru un LCD de 16×2, Utilizați lcd.begin(16, 2), iar pentru un LCD de 20×4 utilizați lcd.begin(20, 4).

lcd.clear()

Această funcție șterge orice text sau date deja afișat pe LCD., Dacă utilizați lcd.clear() cu lcd.print() și delay() funcția în void loop() secțiune, puteți face un simplu text clipitor program:

lcd.home()

Această funcție plasează cursorul în colțul din stânga sus al ecranului, și imprimă ulterioare text de la această poziție. De exemplu, acest cod înlocuiește primele trei litere din ” hello world!,”cu X este:

lcd.setCursor()

Similare, dar mai util decât lcd.home() este lcd.setCursor(). Această funcție plasează cursorul (și orice text tipărit) în orice poziție de pe ecran. Poate fi folosit în secțiunea void setup() sau void loop() din programul dvs.

poziția cursorului este definită cu lcd.setCursor(column, row). Coordonatele coloanei și rândului încep de la zero (0-15 și, respectiv, 0-1)., De exemplu, folosind lcd.setCursor(2, 1) în void setup() sectiunea de „bună ziua, lume!”programul de mai sus imprimă” Bună ziua, lume!”la linia de jos si se muta la dreapta două spații:

lcd.write()

puteți utiliza această funcție pentru a scrie diferite tipuri de date în LCD, de exemplu citirea de la un senzor de temperatura, sau în coordonate de la un modul GPS., De asemenea, îl puteți utiliza pentru a imprima caractere personalizate pe care le creați (mai multe despre acest lucru mai jos). Folosiți lcd.write() în void setup() sau void loop() secțiunea de program.

lcd.print()

Această funcție este utilizată pentru a imprima text pe LCD. Poate fi folosit în secțiunea void setup() sau în secțiunea void loop() a programului.pentru a imprima numere, nu sunt necesare ghilimele. De exemplu, pentru a imprima 123456789, utilizați lcd.print(123456789).,

lcd.print() poate imprima numere în baze zecimale, binare, hexazecimale și octale. De exemplu:

lcd.cursor()

Această funcție creează un vizibil cursorul. Cursorul este o linie orizontală plasată sub următorul caracter care urmează să fie imprimat pe ecranul LCD.

funcția lcd.noCursor() oprește cursorul., lcd.cursor() și lcd.noCursor() poate fi folosit împreună în void loop() secțiune pentru a face un cursor care clipește similar cu ceea ce vedem în multe câmpurile de introducere a textului:

Acest lucru plasează un cursor care clipește după semnul de exclamare în „bună ziua, lume!”

cursoarele pot fi plasate oriunde pe ecran cu funcția lcd.setCursor(). Acest cod plasează un cursor care clipește direct sub semnul exclamării în ” Bună ziua, lume!,”:

lcd.blink()

Această funcție creează un stil bloc cursorul care clipește pe și în afara, la aproximativ 500 de milisecunde per ciclu. Utilizați-l în secțiunea void loop(). Funcția lcd.noBlink() dezactivează cursorul blocului care clipește.

lcd.display()

Această funcție transformă pe orice text sau cursoare care au fost tipărite la ecranul LCD. Funcția lcd.noDisplay() dezactivează orice text sau cursoare tipărite pe ecranul LCD, fără a le șterge din memoria LCD-ului.,aceste două funcții pot fi utilizate împreună în secțiunea void loop() pentru a crea un efect de text intermitent. Acest cod va face ” Bună ziua, lume!”text clipi pe și în afara.

lcd.scrollDisplayLeft()

Această funcție are nimic tipărite la LCD și se mută la stânga. Ar trebui să fie utilizat în secțiunea void loop() cu o comandă de întârziere care o urmează. Funcția va muta textul cu 40 de spații spre stânga înainte de a reveni la primul caracter. Acest cod mută „Bună ziua, lume!,”text la stânga, la o viteză de o secundă per caracter:

șiruri de Text mai lungi de 40 de spații vor fi tipărite la linia 1 după poziția 40, în timp ce începutul șirului va continua imprimarea la linia 0.

lcd.scrollDisplayRight()

Această funcție se comportă ca lcd.scrollDisplayLeft(), dar se mută textul la dreapta.

lcd.autoscroll()

Această funcție are un șir de text și pergamentele de la dreapta la stânga, în trepte de numărul de caractere din șir., De exemplu, dacă aveți un șir de text care este de 3 caractere, se va deplasa textul 3 spații la stânga cu fiecare pas:

lcd.scrollDisplay() funcții, textul poate fi de până la 40 de caractere în lungime înainte de a repeta. La prima vedere, această funcție pare mai puțin utilă decât funcțiile lcd.scrollDisplay(), dar poate fi foarte utilă pentru crearea de animații cu caractere personalizate.

lcd.noAutoscroll()

lcd.noAutoscroll() devine lcd.autoscroll() funcție., Utilizați această funcție înainte sau după lcd.autoscroll() în void loop() secțiune pentru a crea secvențe de text defilare sau animații.

lcd.rightToLeft()

Această funcție stabilește direcția în care textul este imprimat pe ecran. Modul implicit este de la stânga la dreapta folosind comanda lcd.leftToRight(), dar s-ar putea găsi unele cazuri, în cazul în care este utilă la ieșire textul în sens invers:

Acest cod imprimă „bună ziua, lume!”text ca”!dlrow, olleh”., Dacă nu specificați plasarea cursorului cu lcd.setCursor(), textul va imprima din poziția (0, 1) și numai primul caracter al șirului va fi vizibil.

lcd.createChar()

Această comandă vă permite să creați propriul dvs. de caractere personalizate. Fiecare caracter al unui LCD de 16×2 are o lățime de 5 pixeli și o înălțime de 8 pixeli. Până la 8 caractere personalizate diferite pot fi definite într-un singur program., Pentru a vă proiecta propriile personaje, va trebui să creați o matrice binară a personajului dvs. personalizat dintr-un generator de caractere LCD sau să-l cartografiați singur. Acest cod creează un simbol grad (°):

Există o mulțime de lucruri interesante poți face să se întâmple cu aceste 16×2 Lcd-uri! Încercați să combinați unele dintre aceste funcții și să vedeți ce se întâmplă.

Iată o versiune video a acestui tutorial, astfel încât să puteți vedea ce face fiecare funcție pe ecranul LCD în timp real:

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *