Pantalla Alfanumérica LCD 16X2 Con Arduino
Pantalla Alfanumérica LCD 16X2 Con Arduino
Pantalla Alfanumérica LCD 16X2 Con Arduino
Arduino
Par esta experiencia, estaremos utilizando la librería LiquidCrystal que viene
integrada en la instalación del IDE de arduino y nos permite controlar toda clase
de pantallas compatibles con el controlador HD44780 ya sean de 16×2, 20×4 u
otras configuraciones de caracteres.
Como adicional a este articulo recomendamos la lectura de nuestro otro artículo,
donde explicamos como realizar la conexión de la pantalla LCD 16X2 a través de
un adaptador I2C, esto permite la comunicación con pantallas de este tipo usando
solamente dos pines.
Material de la práctica
Arduino UNO R3
Protoboard de 830 puntos
Cables para conexión
Potenciómetro de 10K
Pantalla LCD 16×2 compatible con HD4470
1 /**
2 GeekFactory - "INNOVATING TOGETHER"
3 Distribucion de materiales para el desarrollo e innovacion tecnologica
4 www.geekfactory.mx
5
6 EJEMPLO BASICO PARA EL USO DEL LCD 16X2 CON ARDUINO. MUESTRA UN TEXTO QUE
7 RECORRE
8 LA PANTALLA DE UN LADO A OTRO. ESTE PROGRAMA SIRVE COMO PRUEBA DEL
9 CORRECTO
10 FUNCIONAMIENTO DE NUESTRO CONEXIONADO Y TAMBIEN ILUSTRA COMO REALIZAR
11 OPERACIONES
12 CON EL CURSOR, BORRAR LA PANTALLA Y MOSTRAR CADENAS DE TEXTO.
13 */
14 #include <LiquidCrystal.h>
15
16 // CONSTRUCTOR PARA LA PANTALLA LCD 16X2
17 // AQUI SE CONFIGURAN LOS PINES PARA LA COMUNICACION CON LA PANTALLA
18 LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
19
20 void setup()
21 {
22 // INDICAMOS QUE TENEMOS CONECTADA UNA PANTALLA DE 16X2
23 lcd.begin(16, 2);
24 // MOVER EL CURSOR A LA PRIMERA POSICION DE LA PANTALLA (0, 0)
25 lcd.home();
26 // IMPRIMIR "Hola Mundo" EN LA PRIMERA LINEA
27 lcd.print("Hola Mundo");
28 // MOVER EL CURSOR A LA SEGUNDA LINEA (1) PRIMERA COLUMNA (0)
29 lcd.setCursor ( 0, 1 );
30 // IMPRIMIR OTRA CADENA EN ESTA POSICION
31 lcd.print("GEEKFACTORY");
32 // ESPERAR UN SEGUNDO
33 delay(1000);
34 }
35
36 void loop()
37 {
38 // EN EL CICLO PRINCIPAL SOLAMENTE RECORREMOS EL MENSAJE DE UN LADO A OTRO
39 // VARIABLE PARA CONTROL DE CICLOS
40 int i;
41
42 // DESPLAZAR LA PANTALLA A LA DERECHA 2 VECES
43 for ( int i = 0; i < 5; i++ ) {
44 lcd.scrollDisplayRight();
45 delay (1000);
46 }
47
48 // DESPLAZAR LA PANTALLA A LA IZQUIERDA 2 VECES
49 for ( int i = 0; i < 5; i++ ) {
50 lcd.scrollDisplayLeft();
delay (1000);
}
}
4 {
5 Serial.begin(9600);
6 }
7
8 void loop()
9 {
10 if (Serial.available())
11 {
16 data -= '0';
17 DEBUG((int)data);
18 }
19 }
20 }
2
3 void setup()
4 {
5 Serial.begin(9600);
6 Serial.setTimeout(50);
7 }
8
9 void loop()
10 {
11 if (Serial.available())
12 {
13 int data = Serial.parseInt();
14 DEBUG((int)data);
15 }
}
void setup()
{
Serial.begin(9600);
Serial.setTimeout(50);
}
void loop()
{
if (Serial.available())
{
float data = Serial.parseFloat();
DEBUG(data);
}
}
Codigo final implementado a checar lo del lcd
void setup() {
Serial.begin(9600);
Serial.setTimeout(50);
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
if (Serial.available())
{
int data = Serial.parseInt();
lcd.print(data);
}