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
#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);
}
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); //
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.