#include <LiquidCrystal_I2C.h>
#include "pitches.h"
LiquidCrystal_I2C lcd(0x27, 20, 4);
const int button_1 = 2;
const int button_2 = 3;
int button_1Event = 1;
int button_2Event = 1;
const int LED_1 = 8;
const int LED_2 = 9;
const int buzzer = 7;
void setup() {
pinMode(LED_1, OUTPUT);
pinMode(LED_2, OUTPUT);
pinMode(button_1, INPUT);
pinMode(button_2, INPUT);
pinMode(buzzer, OUTPUT);
lcd.init();
lcd.backlight();
lcd.blink();
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){
if(button_1Event == 1){
digitalWrite(LED_1, HIGH);
lcd.setCursor(9,0);
lcd.print(" ");
lcd.setCursor(9,0);
lcd.print("on");
}
else {
digitalWrite(LED_1, LOW);
lcd.setCursor(9,0);
lcd.print(" ");
lcd.setCursor(9,0);
lcd.print("off");
}
tone(buzzer, NOTE_C5, 100);
button_1Event *= -1;
while(digitalRead(button_1) == LOW ) {}
delay(10);
}
else if(digitalRead(button_2) == LOW){
if(button_2Event == 1){
digitalWrite(LED_2, HIGH);
lcd.setCursor(9,1);
lcd.print(" ");
lcd.setCursor(9,1);
lcd.print("on");
}
else {
digitalWrite(LED_2, LOW);
lcd.setCursor(9,1);
lcd.print(" ");
lcd.setCursor(9,1);
lcd.print("off");
}
tone(buzzer, NOTE_C5, 100);
button_2Event *= -1;
while(digitalRead(button_2) == LOW ) {}
delay(10);
}
}