Mi pantalla LCD I2C 16x2 solo muestra cuadrados en la primera fila

Hola y gracias por leer esta duda.

Resulta que cuando conecto la pantalla LCD con el módulo I2C (SDA al A4 del Arduino y SCL al A5) lo único que me aparecen son cuadrados blancos en la primera fila.

Ya intenté mover el tornillo del módulo y lo único que hace es desvanecer los cuadrados hasta el punto de que la pantalla solo sea azul y no muestre nada más


Código:

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2);  //

void setup() {
  // Inicializar el LCD
  lcd.init();
  
  //Encender la luz de fondo.
  lcd.backlight();
  
  // Escribimos el Mensaje en el LCD.
  lcd.print("Hola Mundo");
}

void loop() {
   // Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1)
  lcd.setCursor(0, 1);
   // Escribimos el número de segundos trascurridos
  lcd.print(millis()/1000);
  lcd.print(" Segundos");
  delay(100);
}

Agradecería que puedan ayudarme

1 Like

Revisa que los cables estén haciendo buen contacto.

Puedes cargarle el I2cScanner para ver si encuentra el LCD y si la dirección es correcta.

es probable que la direccion hexadecimal de tu LCD no sea 0x27 sino 0x3F
LiquidCrystal_I2C lcd(0x27,16,2); //
asi que el codigo donde declaras el nombre del LCD deberia ser asi
LiquidCrystal_I2C lcd(0x3F,16,2); //

Para mi gusto, lo mejor es usar el I2CScanner aunque a veces 0x3F funciona.

Muchas gracias por la ayuda a todos. Sin embargo, al parecer el módulo I2C está malogrado. Utilizando el mismo problema empezó a escribir otro tipo de caracteres, los cuadrados empezaron a cambiar su brillo (cada cuadrado tenia un brillo distinto). Como sea también utilice el I2C scanner para detectar la dirección del módulo y coincide con la del código.

Al probar la misma pantalla con un módulo diferente (con la misma dirección) empezó a funcionar correctamente

Buenas!
Para mi te falta la línea que limpia el display para luego vos escribir.
Es: lcd.clear();
Va en el setup despues del init.
proba con eso, tal vez resulta.

Creo que no leíste su última respuesta.
No hace falta ningun clear, es que simplemente el módulo esta fallado.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.