#include <LiquidCrystal_I2C.h>
#include "pitches.h"
LiquidCrystal_I2C lcd(0x27, 20, 4);
const int button_1 = 2;
const int button_2 = 3;
const int LED_1 = 8;
const int LED_2 = 9;
const int buzzer = 7;
bool LED_1State = false; // สถานะ LED_1
bool LED_2State = false; // สถานะ LED_2
void setup() {
pinMode(LED_1, OUTPUT);
pinMode(LED_2, OUTPUT);
pinMode(button_1, INPUT_PULLUP);
pinMode(button_2, INPUT_PULLUP);
pinMode(buzzer, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(3, 0);
lcd.print("LED 1 off");
lcd.setCursor(3, 1);
lcd.print("LED 2 off");
}
void loop() {
if (digitalRead(button_1) == LOW) {
delay(50);
while (digitalRead(button_1) == LOW) {}
LED_1State = !LED_1State;
if (LED_1State) {
digitalWrite(LED_1, HIGH);
lcd.setCursor(9, 0);
lcd.print(" ");
lcd.setCursor(9, 0);
lcd.print("on");
tone(buzzer, NOTE_C5, 100);
} else {
digitalWrite(LED_1, LOW);
lcd.setCursor(9, 0);
lcd.print(" ");
lcd.setCursor(9, 0);
lcd.print("off");
tone(buzzer, NOTE_C5, 100);
}
}
if (digitalRead(button_2) == LOW) {
delay(50);
while (digitalRead(button_2) == LOW) {}
LED_2State = !LED_2State;
if (LED_2State) {
digitalWrite(LED_2, HIGH);
lcd.setCursor(9, 1);
lcd.print(" ");
lcd.setCursor(9, 1);
lcd.print("on");
tone(buzzer, NOTE_C5, 100);
} else {
digitalWrite(LED_2, LOW);
lcd.setCursor(9, 1);
lcd.print(" ");
lcd.setCursor(9, 1);
lcd.print("off");
tone(buzzer, NOTE_C5, 100);
}
}
}