Sunteți pe pagina 1din 10

Ministerul Educaţie si Cercetarii al Republicii Moldova

IP Centrul de Excelență în Energetică și Electronică

Catedra ,, Automatizari ''

Lucrarea de laborator NR.7


disciplina : Automatizare cu microprocesoare
Tema : Conectarea afișoarelor LCD alfanumerice la microcontroler

A elaborat elevul din grup AT -0119


A verificare profesorul Litvin Nicolae

Chișinau 2023
Lucrare de laborator 7
Tema: Conectarea afișoarelor LCD alfanumerice la microcontroler
Scopul lucrării:
Analiza principiului de funcționare a LCD conectat la microcontroler. Studierea în
mod practic a LCD. Cercetarea rezultatelor.

Introducere
Afisajele LCD sunt de doua tipuri: LCD alfanumeric si LCD grafic.
Afisajele LCD sunt de mai multe dimensiuni, cel mai des denumite dupa numarul
de randuri si coloane (lungimea in caratere a unui rand). De exemplu un LCD 16x1
are un rand cu 16 caractere si un LCD 20x4 are 4 randuri a cate 20 caractere
fiecare.
LCD-urile pot avea iluminare din spate (backlight) sau pot fi de tipul reflectiv (fara
iluminare). Modul de comanda este identic. LCD-urile cu backlight au 2 pini in
plus pentru alimentarea grupului de LED-uri de backlight.

Figura 1 – Exemplu de LCD.

Figura 2 – Un alt exemplu de LCD.


Figura 3 – Un alt exemplu de LCD.

Schema de conectare la microcontroler:


Majoritatea LCD-urilor alfanumerice au controler HD44780 sau compatibil, cu 14
pini sau 16 pini (cele cu backlight):
Pin Descriere
1 GND
2 +5V Alimentare
VEE (contrast, se conecteaza la +5V si GND printr-un
3 potentiometru de 10K pentru reglarea contrastului)
4 RS (0=comenzi, 1=caractere)
5 RW (0=scriere, 1=citire)
6 E (impuls 1>0 pentru a valida caratere sau comenzi)
D0-D3 (bus de date bidirectional, pentru transferul de date intre
7-10
LCD si microcontroler; nu se folosesc in modul pe 4 biti)
D4-D7 (bus de date bidirectional, pentru transferul de date intre
11-14 LCD si microcontroler; se folosesc in modul de pe 4 biti)
15 LED+ (alimentare LED backlight, A)
16 LED- (masa LED backlight, K)

Figura 4 – Ilustrarea localizării pinilor de pe LCD


Interfața LCD pe 8 biți sau pe 4 biți (Nibble mode)
Cum ii trimiti caractere pentru afisare sau comenzi ? E simplu. Afisajele LCD
alfanumerice suporta doua moduri de tranfer de date:

 interfata pe 8 biti: intai pui data (caracterul de afisat) pe bus-ul de 8


biti, apoi setezi modul date (RS=1), apoi un impuls pe semnalul Enable.
 interfata pe 4 biti (modul Nibble): intai pui bitii MSB (4-7) pe bus-ul de 4
biti (D4-D7), apoi setezi modul date (RS=1), apoi un impuls pe semnalul
Enable; urmeaza bitii LSB (0-3) pe bus-ul de 4 biti (D4-D7), apoi un
impuls pe semnalul Enable

Figura 5 – Schema de conectare a unui LCD la un microcontroler

Conectarea LCD la placa Arduino.


Ecran LCD - un invitat frecvent în proiecte arduino. Dar în circuitele complexe, s-
ar putea să avem problema lipsei de porturi Arduino din cauza necesității de a
conecta un scut care are o mulțime de pini. Ieșirea în această situație poate
fi I2C/IIC un adaptor care conectează un scut Arduino 1602 aproape standard la
plăcile Uno, Nano sau Mega cu doar 4 pini. În acest articol, vom vedea cum puteți
conecta un ecran LCD cu o interfață I2C, ce biblioteci puteți utiliza, vom scrie un
exemplu scurt de schiță și analiza erorile tipice.
Ecran cu cristale lichide LCD 1602 este o buna alegere pentru a scoate șiruri de
caractere în diferite proiecte. Este ieftin, există diverse modificări cu diferite culori
de iluminare de fundal, puteți descărca cu ușurință biblioteci gata făcute pentru
schițe Arduino. Dar principalul dezavantaj al acestui ecran este faptul că display-ul
are 16 pini digitali, dintre care sunt necesari cel puțin 6. Prin urmare, utilizarea
acestui ecran LCD fără i2c adaugă limitări serioase pentru plăcile Arduino Uno
sau Nano. Dacă nu sunt suficiente contacte, atunci va trebui să cumpărați o placă
Arduino Mega sau să salvați contacte, inclusiv prin conectarea afișajului prin i2c.

Scurtă descriere a LCD 1602 pini

Figura 6 – Pinii de la LCD1602


Fiecare dintre pini are scopul ei:

1. Pământ GND;
2. Alimentare 5 V;
3. Setarea contrastului monitorului;
4. Comanda, date;
5. Scrierea și citirea datelor;
6. Permite;

7-14. linii de date;

1. Plus iluminare de fundal;


2. Minus iluminare de fundal.

Specificații afișaj:
 Tip de afișare simbolică, este posibilă încărcarea simbolurilor;
 Lumini cu leduri;
 Controler HD44780;
 Tensiune de alimentare 5V;
 Format 16x2 caractere;
 Interval de temperatură de funcționare de la -20C la +70C, intervalul
de temperatură de depozitare de la -30C la +80C;
 Unghi de vizualizare 180 de grade.

Schema de conectare pentru LCD la placa Arduino fără i2C

Schema standard pentru conectarea unui monitor direct la un microcontroler


Arduino fără I2C este următoarea:

Figura 7 – Schema de conectare pentru LCD la placa Arduino fără i2C


Din cauza numărului mare de contacte care trebuie conectate, este posibil să nu
existe suficient spațiu pentru conectarea elementelor necesare. Utilizarea I2C
reduce numărul de fire la 4 și pinii ocupați la 2.

Conectarea ecranului LCD la Arduino prin I2C

Pentru a vă conecta, aveți nevoie de placa Arduino în sine, un afișaj, o placă de


breadboard, fire de conectare și un potențiometru.
Dacă utilizați un adaptor special i2c separat, atunci trebuie mai întâi să îl lipiți la
modulul ecran. Este dificil să greșești acolo, te poți ghida după o astfel de schemă.

Figura 8 – Conectarea ecranului LCD la Arduino prin I2C

Un monitor LCD compatibil i2c este conectat la placă folosind patru fire - două
fire pentru date, două fire pentru alimentare.

 Pinul GND este conectat la GND de pe placă.


 Pinul VCC este de 5V.
 SCL este conectat la pinul A5.
 SDA este conectat la pinul A.
Figura 9 – Conectarea LCD la Arduino Uno

Figura 10 – Conectarea LCD la Arduino Uno

Și e tot! Fără păianjen de fire, în care este foarte ușor să te încurci. În același
timp, putem pur și simplu încredința bibliotecilor întreaga complexitate a
implementării protocolului i2C.
Exemplu de cod pentru Arduino care utilizează LCD1602:
// include the library code:
#include <LiquidCrystal.h>
3
// Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
6
7 void setup()
8 {
9 // set up the LCD's number of columns and rows:
10 lcd.begin(16, 2);
11
12 // Clears the LCD screen
13 lcd.clear();
14 }
15
16 void loop()
17 {
18 // Print a message to the LCD.
19 lcd.print(" Hello world!");
20
21 // set the cursor to column 0, line 1
22 // (note: line 1 is the second row, since counting begins with 0):
23 lcd.setCursor(0, 1);
24 // Print a message to the LCD.
25 lcd.print(" LCD Tutorial");
26 }

Figura 11 – Rezultatul executării codului de mai sus.


Concluzie:

Bibliografie:
1. http://www.bobtech.ro/tutoriale/microcontrolere/65-cum-comanzi-un-lcd-
alfanumeric
2. https://pzik.ru/ro/podklyuchenie-lsd-1602-podklyuchenie-lcd-k-arduino-plate/
3. https://lastminuteengineers.com/arduino-1602-character-lcd-tutorial/

S-ar putea să vă placă și