Lcd 16x2 con botones

Buenos días estoy tratando de programar en un LCD 16x2 con botones, mi programción es la siguiente:

#include <LiquidCrystal.h>

// Inicializa la librería con los números de los pines utilizados por el escudo
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
// Establece el número de columnas y filas del LCD
lcd.begin(16, 2);
// Imprime un mensaje en el LCD
lcd.print("Hello, World!");
}

void loop() {
// Nada que hacer en loop en este ejemplo básico
}

y no me muestra el mensaje, que puedo estar haciendo mal, agradezco su ayuda

Verifica tus conexiones o verifica tu código.

LiquidCrystal lcd(8, 9, 7, 6, 5, 4);

Moderador:
Por favor, lee las Normas del foro y publica/edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado/editado, lo cortas y click en (<CODE/>)


Agrega el esquema de las conexiones (puedes hacerlo a mano y subir una foto).

Agrega un link a un display como el que usas para saber de qué hablas.

Cuéntanos que placa usas, no somos adivinos y no es lo mismo una UNO que una Nano R4 o una Nodemcu.

Arduino uno con lcd 16x2 con botones

El cruce de publicaciones va en contra de las reglas del foro de Arduino. La razón es que las publicaciones duplicadas pueden desperdiciar el tiempo de las personas que intentan ayudar. Alguien podría pasar mucho tiempo investigando y escribiendo una respuesta detallada sobre un tema, sin saber que otra persona ya hizo lo mismo en el otro tema.

Por favor, crea un solo tema para tu pregunta y elige la categoría del foro con cuidado. Si tienes múltiples preguntas sobre el mismo proyecto, entonces por favor haz tus preguntas en un solo tema, ya que las respuestas a una pregunta proporcionan un contexto útil para las otras, y además no tendrás que seguir explicando tu proyecto repetidamente.

Publicar duplicados de manera repetida podría resultar en una prohibición temporal o permanente del foro.

¿Podrías tomarte unos momentos para aprender a usar el foro? Te ayudará a aprovechar al máximo el foro en el futuro.

Gracias.

Este es el progrma no se que esta mal, porque no se ve en la pantalla.... gracias

#include <Wire.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd_1(8, 9, 4, 5, 6, 7);


void setup() {
   lcd_1.begin(16, 2);
   lcd_1.setCursor(0,0);
   lcd_1.print ("César Mongrut ");
   lcd_1.setCursor (0,1);
   lcd_1.print (" Presiona una tecla ");
}

void loop() {
  int x;
  x = analogRead (0);
  lcd_1.setCursor(10,1);
  if (x < 60) {
    lcd_1.print (" DERECHA ");
  }
  else if (x < 200) {
    lcd_1.print (" ARRIBA ");
  }
  else if (x < 400) {
    lcd_1.print (" ABAJO ");
  }
  else if (x < 600) {
    lcd_1.print (" IZQUIERDA ");
  }
  else if (x < 800) {
    lcd_1.print (" SELECCION ");
  }
}

En general, el código está bien (tienes un problema ya que las llamadas a lcd_1.print() pueden causar superposición de texto en el LCD porque el texto anterior no se borra. Si el nuevo texto es más corto que el anterior, pueden quedar restos del texto viejo).

¿Has probado un código simple como este?

#include <Wire.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
   lcd.begin(16, 2);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Hello");
}

void loop() {}

Si no ves nada en la pantalla, podría ser un problema de hardware:

  • ¿Realmente conectaste el LCD según lcd_1(8, 9, 4, 5, 6, 7)?
  • ¿Cómo alimentas el display?
  • ¿Has ajustado el contraste?
  • ¿Hiciste alguna soldadura? ¿Estás usando una placa de pruebas (breadboard)?
  • ¿Puedes compartir una foto de tu proyecto y un esquema a mano de tu circuito eléctrico?

Que pin físico usas como entrada?

Comparte una foto de tu circuito como lo pide @J-M-L

Prueba agregando

else {
  lcd_1.print(“ NADA”);
}

después de esto