Per establir una bona comunicació entre el món humà i el món de la màquina, els expositors tenen un paper important. Per tant, són una part important dels sistemes incrustats. Els visualitzadors, grans o petits, funcionen segons el mateix principi bàsic. A més d'unitats de visualització complexes, com ara pantalles gràfiques i despeses 3D, cal saber treballar amb pantalles senzilles com 16x1 i 16x2. La pantalla de 16x1 tindrà 16 caràcters i es troben en una línia. La pantalla LCD de 16x2 tindrà 32 caràcters en total, 16 a la primera línia i altres 16 a la 2a línia. Aquí cal entendre que a cada caràcter hi ha 5x10 = 50 píxels, de manera que per mostrar un caràcter tots els 50 píxels han de treballar junts. Però no ens hem de preocupar d’això perquè hi ha un altre controlador (HD44780) a la unitat de pantalla que fa la feina de controlar els píxels. (el podeu veure a la unitat LCD,és l’ull negre de la part posterior).
En aquest tutorial farem una interfície de 16x2 LCD amb ARDUINO UNO. A diferència de les taules de desenvolupament normals, la interfície d'un LCD amb un ARDUINO és bastant fàcil. Aquí no ens hem de preocupar per l’enviament i la recepció de dades. Només hem de definir els números dels pins i estarà llest per mostrar les dades a la pantalla LCD.
Components necessaris
Maquinari: ARDUINO UNO, font d'alimentació (5v), JHD_162ALCD (16x2LCD), condensador 100uF.
Programari: Arduino IDE (Arduino nocturn).
Diagrama del circuit i explicació
A la pantalla LCD de 16 x 2 hi ha 16 pins si hi ha llum de fons, si no hi ha llum de fons hi haurà 14 pins. Es pot alimentar o deixar els passadors de llum de fons. Ara als 14 pins hi ha 8 pins de dades (7-14 o D0-D7), 2 pins de font d'alimentació (1 i 2 o VSS i VDD o GND i + 5v), 3r pin per controlar el contrast (VEE controla el gruix dels caràcters mostrat), i 3 pins de control (RS & RW & E).
Al circuit, es pot observar que només he pres dos pins de control, això dóna flexibilitat. El bit de contrast i READ / WRITE no s’utilitzen sovint, de manera que es poden reduir a terra. D’aquesta manera, la pantalla LCD té un contrast i un mode de lectura més alts. Només hem de controlar els pins ENABLE i RS per enviar caràcters i dades en conseqüència.
Les connexions que es fan per a LCD es donen a continuació:
PIN1 o VSS a terra
PIN2 o VDD o VCC a una potència de + 5v
PIN3 o VEE a terra (proporciona el màxim contrast possible per a principiants)
PIN4 o RS (Selecció de registre) al PIN0 de ARDUINO UNO
PIN5 o RW (lectura / escriptura) a terra (posa la pantalla LCD en mode lectura facilita la comunicació per a l'usuari)
PIN6 o E (Habilita) a PIN1 de ARDUINO UNO
PIN11 o D4 a PIN8 de ARDUINO UNO
PIN12 o D5 a PIN9 de ARDUINO UNO
PIN13 o D6 a PIN10 de ARDUINO UNO
PIN14 o D7 a PIN11 de ARDUINO UNO
L'IDE ARDUINO permet a l'usuari utilitzar LCD en mode de 4 bits. Aquest tipus de comunicació permet a l’usuari reduir l’ús de pins a ARDUINO, a diferència d’altres, ARDUINO no ha de ser programat per separat per utilitzar-lo en mode 4 it perquè, per defecte, ARDUINO està configurat per comunicar-se en mode de 4 bits. Al circuit podeu veure que hem utilitzat la comunicació de 4 bits (D4-D7).
Així doncs, a partir de la simple observació de la taula superior, connectem 6 pins de pantalla LCD al controlador en què 4 pins són pins de dades i 2 pins per al control.

La figura anterior mostra el diagrama del circuit de 16x2 LCD connectat a ARDUINO UNO.
Treball
Per connectar una pantalla LCD a ARDUINO UNO, hem de saber algunes coses.
|
Tal com es mostra a la taula anterior, només hem de mirar aquestes quatre línies per establir una comunicació entre un ARDUINO i un LCD.
Primer hem d’habilitar el fitxer de capçalera ('#include
En segon lloc, hem d’indicar a la placa quin tipus de pantalla LCD estem utilitzant aquí. Com que tenim tants tipus diferents de LCD (com ara 20x4, 16x2, 16x1, etc.). Aquí farem una interfície LCD de 16x2 amb l’ONU per obtenir "lcd.begin (16, 2);". Per a 16x1 obtenim "lcd.begin (16, 1);".
En aquesta instrucció li direm a la placa on hem connectat els pins. Els pins connectats han de ser representats per “RS, En, D4, D5, D6, D7”. Aquests pins s'han de representar correctament. Com que hem connectat RS al PIN0 i així successivament, tal com es mostra al diagrama del circuit, representem el número de pin de la placa com a "LiquidCrystal lcd (0, 1, 8, 9, 10, 11);". Les dades que cal mostrar en pantalla LCD s’han d’escriure com a “cd.print (" hola, món! ");”. Amb aquesta ordre, la pantalla LCD mostra "hola, món!".
Com podeu veure, no ens hem de preocupar de res més, només hem d’inicialitzar i l’ONU estarà preparada per mostrar dades. No hem d’escriure un bucle de programa per enviar les dades BYTE per BYTE aquí.
La forma de comunicació entre LCD i UNO s’explica pas a pas en el codi C que es mostra a continuació:
