#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int buttonPin = 18;
bool buttonState = LOW;
bool messageDisplayed = false;
void setup() {
Serial.begin(115200);
lcd.init();
lcd.backlight();
lcd.clear();
pinMode(buttonPin, INPUT);
}
void loop() {
delay(200);
// Mostrar mensaje inicial
lcd.setCursor(1, 0);
lcd.print("hello world");
delay(900);
lcd.clear();
// Leer el estado del botón
int currentButtonState = digitalRead(buttonPin);
// Verificar si el botón fue presionado
if (currentButtonState == HIGH && !messageDisplayed) {
delay(10); // Desdebujado temporal para evitar el rebote del botón
lcd.setCursor(2, 0);
lcd.print("goodbay world");
messageDisplayed = true; // Marcar que el mensaje ya fue mostrado
delay(1000);
lcd.clear();
}
// Reiniciar el estado del botón si se ha liberado
if (currentButtonState == LOW) {
messageDisplayed = false;
}
}