Problemas con pantalla LCD PCF8574T

Recientemente me he comprado un Arduino Uno junto con una pantalla LCD PCF8574T. Mi primer problema es que habiendo enchufado todos los jumpers la pantalla no muestra absolutamente nada, ni parece que cambie el contraste de la pantalla. Cabe destacar que el LED del I2C sí que se enciende.
Me he descargado ejemplos de código, pero realmente entiendo que la pantalla debería encenderse antes no?
Un saludo a todos y buen día :slight_smile:

Su publicacion se MUEVE a su ubicacion actual ya que es mas adecuada.

¿Puedes poner una foto del conjunto donde se vean las conexiones y postear el código de ejemplo que estás probando?



Ojo, también me he dado cuenta de que cambiando el contraste puedo ver mejor la pantalla. Lo curioso es que sólo me muestra el primer dígito de lo que quiero que salga ;(

Sube el codigo que estas usando.

Perdón, se me había olvidado subir el código también:

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

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
  // initialize the LCD
  lcd.begin();

  // Turn on the blacklight and print a message.
  lcd.backlight();
  //lcd.print("Hello, world!");
}

void loop()
{
  // Do nothing here...
 lcd.clear();
 lcd.print("Hello World!");
 delay(1000);
lcd.clear();

}

No es:`

lcd.begin();

Eso ni siquiera compila, tiene que ser:

lcd.init();

Hecho ese pequeño cambio a mi tu código me funciona correctamente.

¿Que quieres decir?. Tocando el potenciómetro trasero ¿No te cambia el contraste?.

Vale genial, muchas gracias por la corrección, mañana lo compruebo

El problema del contraste es el que dices, por mucho que toque el potenciometro no cambia nada prácticamente

Me recomiendas entonces la librería que usas tú?

Veo por la foto que no le tienes puesto el jumper del led a la mochila, asi no se retroilumina y no se ve nada.
Aunque se llamen igual tenemos librerías diferentes a mi me da error el Begin y a ti el init, la mía la descargue con el gestor de bibliotecas del IDE.

Perdona que te pregunte, pero tu ayuda me está siendo muy útil. A qué te refieres con la mochila? He estado investigando y las “mochilas” deben variar según los componentes, pero para arduino no sé a qué se refiere.

Debes de poner un jumper (puente) entre los pines LED.
Tu lo tienes así:
Captura de pantalla 2023-11-06 115738
Y debería estar así:
Captura de pantalla 2023-11-06 115906

Saludos.

Luego lo pruebo, seguro que con eso funciona el contraste… pero por qué solo me muestra el primer dígito? Tengo mal el loop?

Efectivamente, en tu caso es ese circuito que lleva detrás tu LCD y que @DanX3 te muestra como ha de ir el jumper de la retroiluminación. Para este componente lo que te esta haciendo es convertir la LCD, (conectable al arduino con mas cables), en un modulo I2C, (solo dos cables de control).

No tienes nada mal en el código. en su día y con unas simples modificaciones que no afectan para nada el resultado:

#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();
}
void loop() {
  // Escribimos el Mensaje en el LCD.
  lcd.print("Hello World!");
  // Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1)
  lcd.setCursor(0, 1);
  lcd.print("gonpezzi 3/11/23");
  delay(100);
}

Obtuve:

Pienso que tienes un problema en el harware. ¿Has soldado tu la mochila a la LCD?, parece que hay alguna soldadura que parecen "huecas".

b344ca51ff5aa0fbaaabf2a1d4878f43acd99590

Revisalo todo bien.

Las uniones las veo bien, pero mirad lo que me sale


Claramente el contraste está solucionado... lo curioso es que solo me muestra el primer dígito para cada línea, os subo el código también

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

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
  // initialize the LCD
  lcd.begin();

  // Turn on the blacklight and print a message.
  lcd.backlight();
  //lcd.print("Hello, world!");
}

void loop()
{
 // Escribimos el Mensaje en el LCD.
  lcd.print("Hello World!");
  // Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1)
  lcd.setCursor(0, 1);
  lcd.print("gonpezzi 3/11/23");
  delay(100);

}

Y por cierto, he revisado las soldaduras y parece que todo está bien, yo creo que la imagen se distorsiona un poco

Actualiza o carga la libreria desde el gestor de bibliotecas del IDE.

Tengo que confesar que mi intención es hacer una radio. Yo pensaba que iba a ser facilísimo y se me ocurrió empezar por la pantalla... os mantendré informados, gracias señores :handshake:

¿ Tienes ya un chip ?, si no mira el Si4703

Moderador:
Por favor, para la próxima lee las Normas del foro
Si posteas en el foro en inglés usa idioma inglés para expresarte, eso incluye los comentarios de tu código. Si un código tiene comentarios en español también moverán tu hilo a esta sección en Español.
Si escribes en español debes usar el foro [Arduino en español]
Quita por favor la traducción automática de inglés a español. Al menos para el sitio dominio arduino.cc
(Español - Arduino Forum)
He modificado el título que tu habias posteado.