I'm very new to programming, and struggling with a code set. I'm trying to run a simple LED flash sequence. I want it to start when the push button is pressed, and run, until it is pressed again. I can only get it to run once, and not loop continuously.
Any help is appreciate.
-Wrench
#define LED1 13
#define LED2 12
#define LED3 11
#define BUTTON_PIN 6
byte lastButtonState;
byte ledState = LOW;
unsigned long lastTimeButtonStateChanged = millis();
unsigned long debounceDuration = 50; // millis
const int delayTime = 200;
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
lastButtonState = digitalRead(BUTTON_PIN);
}
void loop() {
if (millis() - lastTimeButtonStateChanged >= debounceDuration){
byte buttonState = digitalRead(BUTTON_PIN);
if (buttonState != lastButtonState){
lastTimeButtonStateChanged = millis();
lastButtonState = buttonState;
if (buttonState == LOW) {
digitalWrite(LED1, HIGH); // Turn LED 1 on
delay(delayTime);
digitalWrite(LED1, LOW); // Turn LED 1 off
digitalWrite(LED2, HIGH); // Turn LED 2 on
delay(delayTime);
digitalWrite(LED2, LOW); // Turn LED 2 off
digitalWrite(LED3, HIGH); // LED 3 ON
delay(delayTime);
digitalWrite(LED3, LOW);
}
}
}
}
Unfortunately this didn't solve the issue. Does it matter that this is an Uno R3?
I still get one run of the LEDs and then it stops. I don't get the loop of the LEDs continuously.