#define BUTTON_PIN 13
#define RELAY_PIN 16
bool lightState = false;
int lastButtonState = LOW;
unsigned long lastDebounceTime = 0;
void setup() {
pinMode(BUTTON_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
}
void loop() {
int reading = digitalRead(BUTTON_PIN);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > 100) {
if (reading == HIGH) {
lightState = !lightState;
digitalWrite(RELAY_PIN, !lightState);
}
}
lastButtonState = reading;
}