#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int buttonpin=33;
const int LEDpin=32;
const int buzzer=25;
int ledState = LOW;
int lastButtonState;
int currentButtonState;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(buttonpin, INPUT_PULLUP);
pinMode(LEDpin, OUTPUT);
pinMode(buzzer, INPUT);
currentButtonState = digitalRead(buttonpin);
lcd.init();
lcd.backlight();
}
void loop() {
lastButtonState = currentButtonState;
currentButtonState = digitalRead(buttonpin);
if (lastButtonState == HIGH && currentButtonState == LOW){
Serial.println("THE BUTTON is PRESSED");
digitalWrite(buzzer, HIGH);
lcd.setCursor(0,0);
lcd.print("ESP32");
tone(buzzer,100);
ledState = !ledState;
digitalWrite(LEDpin,ledState);
noTone(buzzer);
}
// put your main code here, to run repeatedly:
delay(100); // this speeds up the simulation
}