Jump to content

Mostrar mensajes predefinidos en pantalla lcd I2C 16x2


chujalt
 Share

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.
 
Edited by chujalt
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...