Sei sulla pagina 1di 12

Tecnologas de Informacin I Laboratorio 5

LCD (Liquid Crystal Display)


Es un dispositivo diseado para mostrar informacin en forma

grfica. Vienen unidas a una placa de circuito que posee pines (14)

de

entrada/salida

de

datos

que

contiene

un

driver

Hitachi HD44780.

Pines de conexin (PINOUT)


Pin 1: GND Pin 2: VCC o alimentacin (+5V) Pin 3: Voltaje de contraste. Se Pin Pin Pin Pin Pin Pin
conecta a un potencimetro. 4: Seleccin de registro, indica si escribes un dato o una instruccin. 5: Lectura/Escritura. 6: Enable. Es el pin que habilita o deshabilita el LCD. 7-Pin 14 : Son los pines de datos por donde se enva o recibe informacin. 15: El nodo del LED de iluminacin de fondo (+5v). 16: El ctodo del LED de iluminacin conectar a resistencia de 1k y esta a GND.

1 2 3 4 5 6 7 8 9 10 11 12 13 1415 16

LCD con Arduino


El proceso de controlar el display involucra la colocacin de los datos que componen la imagen de lo que quieres mostrar, en los registros de datos, y luego, colocar las instrucciones, en el registro de instrucciones. La librera LiquidCrystal simplifica este proceso de forma que no necesitas saber las instrucciones de bajo nivel. #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); lcd.print("hello, world!"); }

LCD con Arduino


Los LCD-s compatibles con Hitachi pueden ser controlados de dos modos: 4 bits u 8 bits. El modo de 4 bits requiere siete pines de E/S de Arduino, mientras el modo de 8 bits requiere 11 pines. Para mostrar texto en la pantalla, puedes hacer la mayora de las cosas en modo 4 bits, por lo que vamos a controlar un LCD de 2x16 en modo de 4 bits.

Conexiones entre LCD y Arduino en modo de 4 bits


VCC

GND

Ejemplo 1: Contador en segundos


#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); unsigned long tiempo;

void setup() { lcd.begin(16, 2); lcd.setCursor(3, 0); lcd.print("EPICS");


lcd.setCursor(0, 1); lcd.print("segundos : "); } void loop() { lcd.setCursor(12, 1); //el primer nmero indica la posicin de 0 a 15 y el segundo la fila 0 1 tiempo=millis()/1000; //Tiempo en milisegundos desde que el programa se inici (long sin signo (unsigned long)) lcd.print(tiempo); }

Ejemplo 2: funcionees scrollDisplayLeft(), scrollDisplayRight()


#include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() { lcd.begin(16, 2); lcd.print(6,0); lcd.print("MENSAJE"); }


void loop() { for (int positionCounter = 0; positionCounter < 5; positionCounter++) { lcd.scrollDisplayLeft(); delay(150); } delay(1000); for (int positionCounter = 0; positionCounter < 10; positionCounter++) { lcd.scrollDisplayRight(); delay(150); } delay(1000); }

Ejemplo 3: funciones autoscroll()y clear()


#include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() { lcd.begin(16,2); } void loop() { lcd.setCursor(0,0); lcd.print("Prueba "); lcd.setCursor(7, 0); for (int thisChar = 0; thisChar < 7; thisChar++) { lcd.print(thisChar); delay(500); } lcd.setCursor(10,1); lcd.autoscroll(); for (int thisChar = 0; thisChar < 7; thisChar++) { lcd.print(thisChar); delay(500); } lcd.noAutoscroll(); lcd.clear(); }

Ejemplo 4: funciones createChar() y lcd.write()


#include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); byte sonrisa[8] = { B00000, B10001, B00000, B00000, B10001, B01110, B00000,}; byte triste[8] = { B00000, B10001, B00000, B00000, B01110, B10001, B00000,}; void setup() { lcd.createChar(1, sonrisa); lcd.createChar(2, triste); lcd.begin(16, 2); lcd.setCursor(10,0); lcd.print("hola"); lcd.autoscroll(); lcd.setCursor(15,1); } void loop() { lcd.write(1); delay(1000); lcd.write(2); delay(500); }

Otras funciones para uso del lcd


lcd.display(); Lcd.nodisplay(); lcd.blink(); Lcd.noblink(); lcd.cursor(); Lcd.nocursor ();

lcd.home();
lcd.rightToLeft(); lcd.leftToRight();

Ejercicio: PACMAN

Hacer un programa y su simulacin en proteus que muestre una pantalla LCD. En la primera fila la se escribe palabra PACMAN y en la segunda fila deber aparecer la imagen del mueco del juego pac-man que deber desplazarse a lo largo de la fila inferior en direccin de izquierda a derecha y viceversa y mientras lo hace deber abrir y cerrar la boca

Potrebbero piacerti anche