#define LED_PIN1 9
#define LED_PIN2 10
#define LED_PIN3 11
#define BUTTON_PIN 8
byte lastButtonState = LOW;
byte ledState = LOW;
unsigned long debounceDuration = 05; // millis
unsigned long lastTimeButtonStateChanged = 0.00;
void setup() {
pinMode(LED_PIN1, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
pinMode(LED_PIN2, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
pinMode(LED_PIN3, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
}
void loop() {
if (millis() - lastTimeButtonStateChanged > debounceDuration) {
byte buttonState = digitalRead(BUTTON_PIN);
if (buttonState != lastButtonState) {
lastTimeButtonStateChanged = millis();
lastButtonState = buttonState;
if (buttonState == LOW) {
ledState = (ledState == HIGH) ? LOW: HIGH;
digitalWrite(LED_PIN1, ledState);
digitalWrite();
delay(100);
}
}
}
if (millis() - lastTimeButtonStateChanged > debounceDuration) {
byte buttonState = digitalRead(BUTTON_PIN);
if (buttonState != lastButtonState) {
lastTimeButtonStateChanged = millis();
lastButtonState = buttonState;
if (buttonState == LOW) {
ledState = (ledState == HIGH) ? LOW: HIGH;
digitalWrite(LED_PIN2, ledState);
delay(100);
}
}
}
if (millis() - lastTimeButtonStateChanged > debounceDuration) {
byte buttonState = digitalRead(BUTTON_PIN);
if (buttonState != lastButtonState) {
lastTimeButtonStateChanged = millis();
lastButtonState = buttonState;
if (buttonState == LOW) {
ledState = (ledState == HIGH) ? LOW: HIGH;
digitalWrite(LED_PIN3, ledState);
delay(100);
}
}
}
}