#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int ledPin[] = {2, 3, 4, 5};
const int buttonPin[] = {6, 7, 8, 9};
const char buttonLabels[][6] = {"Water", "Fire", "Earth", "Air"};
bool ledStates[] = {LOW, LOW, LOW, LOW};
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
for (int i = 0; i < 4; i++) {
pinMode(ledPin[i], OUTPUT);
pinMode(buttonPin[i], INPUT_PULLUP);
}
lcd.setCursor(0, 0);
lcd.print("Press a Button:");
}
void loop() {
for (int i = 0; i < 4; i++) {
if (digitalRead(buttonPin[i]) == LOW) {
digitalWrite(ledPin[i], HIGH);
lcd.setCursor(0, 1);
lcd.print(buttonLabels[i]);
lcd.print(" Active");
while (digitalRead(buttonPin[i]) == LOW) {}
digitalWrite(ledPin[i], LOW);
lcd.setCursor(0, 1);
lcd.print(" ");
}
}
}