Ir al contenido
Conéctate para seguir esto  
chujalt

Mostrar mensajes predefinidos en pantalla lcd I2C 16x2

Recommended Posts

Saludos

      Os voy a mostrar el código que he hecho para mostrar unos mensajes ya predefinidos (y que se muestran según la tecla que pulses en un teclado) en una pantalla lcd I2C 16X2 (16 caracteres y 2 líneas)


Materiales utilizados:

  • Una placa arduino Uno o nano (yo he utilizado la nano, pero también vale para la Uno)
  • 4 cables dupont
  • Una pantalla lcd I2C 16X2

 

lcd_i2c.jpg

 

 

 

Conexiones:
  • Pin SCL del lcd --> Pin A5 de Arduino
  • Pin SDA del lcd --> Pin A4 de Arduino
  • Pin VCC del lcd --> Pin 5 voltios de Arduino
  • Pin GND del lcd --> Pin GND de Arduino
 
 
El código es el siguiente, después de él pasaré a comentarlo:
 
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

void setup()  
{
 Serial.begin(9600);  

 lcd.begin(16,2);   

 lcd.backlight(); 

}

void loop() 
 {   
   lcd.setCursor(0, 0);
 lcd.write("Esperando datos"); 
 lcd.blink();
 delay(1000);
if (Serial.available()) {

     delay(100);  
      lcd.setCursor (0,1);
     while (Serial.available() > 0) {
       char pepe = Serial.read();
if (pepe == '1')
{
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.write("Mensaje recibido");  
  delay(100);  
      lcd.setCursor (0,1);
lcd.write("Hola");
lcd.noBlink();
}

else if (pepe == '2')
{
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.write("Mensaje recibido");  
  delay(100);  
      lcd.setCursor (0,1);
lcd.write("Adios");
lcd.noBlink();
}
else 
{
  lcd.clear();
lcd.write("Mensaje erroneo");
lcd.noBlink();

}      
Comentario del código:
  • Incluimos las librerías necesarias para que todo funcione correctamente.
  • Indicamos todos los pines necesarios
  • Iniciamos la comunicación a 9600 baudios
  • Encendemos el lcd
  • Situamos el cursor del lcd en la primera linea e imprimimos la frase "Esperando datos" con un blink después del último carácter que se enciende y se apaga.
  • Si se inicia la comunicación serial (enviamos algo a la placa arduino) creamos unas variable tipo char (la he llamado pepe) para almacenar los valores de ese envío.
  • Limpiamos la pantalla del lcd
  • En la primera linea mostramos "Mensaje recibido"
  • La segunda linea mostrará, si hemos tecleado un 1 "Hola", si hemos pulsado un 2 "Adios", si pulsamos cualquier otra cosa "Mensaje erroneo"
  • Espera 5 segundos para que podamos leer el mensaje, limpia la pantalla del lcd y vuelve a poner "Esperando datos"
  • Está claro que podemos poner todos los "else if" que queramos para esperar unas pulsaciones de teclado y su correspondiente mensaje a mostrar.

Bueno, espero que os sirve de algo y que el código podríais ir adaptándolo como vosotros queráis.
 
Editado por chujalt

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!

Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.

Iniciar Sesión
Conéctate para seguir esto  

×