I think you need to add a second delay() after the led turns off.
In your code the led actually turns off, but when the loop repeats itself, the led turns instantly on.
You want it to blink whenever you press any button, right?
Take a look at this (and compare it with your code):
#define firstButton 8
#define secondButton 9
#define thirdButton 10
#define greenLed 11
#define blueLed 12
#define redLed 13
int ledDelay = 2000;
void setup()
{
pinMode(firstButton, INPUT);
pinMode(secondButton, INPUT);
pinMode(thirdButton, INPUT);
pinMode(greenLed, OUTPUT);
pinMode(blueLed, OUTPUT);
pinMode(redLed, OUTPUT);
}
void loop()
{
if ( digitalRead(firstButton) == HIGH )
{
digitalWrite(greenLed, HIGH);
delay(ledDelay);
digitalWrite(greenLed, LOW);
delay(ledDelay);
}
else if ( digitalRead(secondButton) == HIGH )
{
digitalWrite(blueLed, HIGH);
delay(ledDelay);
digitalWrite(blueLed, LOW);
delay(ledDelay);
}
else if ( digitalRead(thirdButton) == HIGH )
{
digitalWrite(redLed, HIGH);
delay(ledDelay);
digitalWrite(redLed, LOW);
delay(ledDelay);
}
}
Good luck ![]()