Reaction Test

Hey.
Im new to this arduino stuff and i'm sitting on some code that i think should work. the idea is sort of a reaction tester where a red LED blinks on for one second with random intervals. if a button is pressed while the red LED is still on the red LED turns off and a green one goes on.

can anyone help and point out where i've gone wrong. :confused:

int Correct=12;
int LED=2;
int Button=4;

void setup()
{
 pinMode(Correct, OUTPUT);
 pinMode(LED, OUTPUT);
 pinMode(Button, INPUT);
}

void loop()
{
   if(digitalRead(LED,HIGH);
  {
     if(digitalRead(Button,HIGH))
  {
    digitalWrite(LED,LOW);
    digitalWrite(Correct,HIGH);
    delay(2000)
    digitalWrite(Correct,LOW);
  };
  };
  
 delay(random(2000,4000));
  digitalWrite(LED,HIGH);
  delay(1000); 
  digitalWrite(LED,LOW);
};

when i go to compile it just points me at this line
if(digitalRead(LED, HIGH);
{
...
}

Any help would be appreciated :slight_smile:

Moderator edit:
</mark> <mark>[code]</mark> <mark>

</mark> <mark>[/code]</mark> <mark>
tags added.

when you call delay(1000) the user can press any button as much as he wants but his button is never tested when the LED is on.

Check the blink without delay example (tutorials) to get an idea how this app should be solved.

Fix the formatting of the line

if(digitalRead(LED) == HIGH){

Thanks il rectify the code and see if it works :slight_smile: ta

Of course, you are reading an output pin there, and the last thing you do in void loop is write it Low, so I doubt you'd ever see it high.