#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const byte PIN_BTN[] = {2, 3};
const byte BTN_PRESSED = LOW;
void setup()
{
Serial.begin(115200); // Debugging only
for(int i=0; i<=1; ++i)
pinMode(PIN_BTN[i], INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" - TEST CODE - ");
}
void loop()
{
for(int i=0; i<=1; ++i) {
if(digitalRead(PIN_BTN[i]) == BTN_PRESSED) {
lcd.setCursor(0, 1);
lcd.print("Button "); lcd.print(i+1); lcd.print("!");
delay(50); // Software debounce
// Wait key release
while (digitalRead(PIN_BTN[i]) == BTN_PRESSED)
delay(100);
lcd.setCursor(0, 1);
lcd.print(" ");
}
}
}