top of page
Pantalla LCD

LCD = Liquid Crystal Display (pantalla de cristall líquid)

Ens interessa utilitzar-la en els nostres projectes per visualitzar informació. 
N’hi ha de diferents mides, la nostra és de 16×2 (2 files de 16 caracters cadascuna).

 

Uns dels problemes de la LCD és que necessita connexió a 6 pins digitals, 

a més dels d'alimentació:

LCD.png
LCD_HolaMon.jpg
LCD1.png

Per solucionar aquest problema podem connectar-la a través d'un mòdul I2C

I2C és un bus de comunicació que transmet la informació (entre fins a 112 dispositius diferents) a través de només dues línies:

una per les dades (SDA) i l’altre pel senyal del rellotge (SDL).

A més, li cal alimentació a través dels pins GND i VCC.

Amb només 4 cables tenim la connexió solucionada!
Això sí, els pins del mòdul han d’estar connectats als de la LCD.

Bus_I2C.png

Connexió a Arduino UNO

LCD_Connexio.jpg

SDA (dades): al pin analògic A4*
SCL (rellotge): al pin analògic A5*
VCC i GND (alimentació): als pins corresponents de la placa.

El contrast de la pantalla

es regula amb el potenciòmetre del mòdul I2C.

El bus I2C d'Arduino UNO utilitza els pins analògics A4 i A5.

Certs models de plaques Arduino UNO, a més de l’A4 i l’A5 tenen dos pins específics per la comunicació I2C. Es troben a l’extrem esquerre de la fila de pins digitals i estan indicats: SCL a l’esquerra i SDA a la dreta.

Pautes de programació

Les instruccions relatives es troben al menú

LCDmenu.png

Per comunicar dispositius a través d'I2C cal especificar la seva adreça. L’adreça de LCD més comú sol ser 0x27 o 0x3F.

LCDinici.png

Per comprovar l'adreça podem executar en l'IDE Arduino l’sketch i2c_scanner.
Aquest sketch escombra tot el bus i si troba un dispositiu, mostra la seva adreça pel monitor sèrie.

Per mostrar missatges utilitzarem la instrucció

LCD_I2.png

Cal indicar:

La posició inicial del cursor (el número d'ordre de les files i les columnes comença pel 0).

El missatge a mostrar (text, número, dada o valor de variable)

LCD_I3.png

La instrucció

esborra la pantalla. Convé utilitzar-la cada cop que volem mostrar un nou missatge.

Podem definir els missatges a mostrar directament en el bucle d'execució contínua:

El missatge es mostrarà a partir de la columna definida de la 1a fila

LCD_P1.png

El missatge es mostrarà a partir de la columna definida de la 2a fila

Cal esborrar la pantalla abans de mostrar nous missatges

Podem definir els missatges a mostrar com a elements d'una llista:

LCD_P21.png
LCD_P23.png

Una llista és un conjunt de dades (variables)

Les instruccions per crear i recuperar els seus elements es troben al menu

LlistesMenu.png

Si treballem amb llistes podem fer que el missatge a mostrar sigui un qualsevol de la llista:

LCD_P24.png

La aleatorietat és una expressió matemàtica

2. Mostra dades de diferent naturalesa

Per combinar missatges de text amb variables o dades provinents de sensors tenim diverses opcions:

LCD_Sensor2.png
LCD_Sensor1.png

Opció 1. Definir la posició del cursor per a cada tipus de dada a mostrar.

LCD_Sensor3.png

Opció 2. Crear un bloc de text

El problema del temps

Delay.png

La instrucció delay ( ) bloqueja l'execució del programa durant el temps definit.

Per tant, les accions de control poden no funcionar perquè no s'actualitzarà l'estat dels sensors durant aquest temps.

Millis.png

La funció millis ( ) calcula el temps transcorregut entre dos esdeveniments a partir de la consulta del temps que la placa porta en funcionament.

No afecta a les accions de control perquè no implica cap bloqueig de l'execució del programa.

Ara us toca a vosaltres

Bonus.png

S'us acudeix com podem encendre un LED en prèmer la tecla A a l'ordinador?

Com podem fer per que s'apagui?

bottom of page