Go Down

Topic: Reaction Test (Read 695 times) previous topic - next topic

fraserhoenes

Dec 28, 2012, 06:56 pm Last Edit: Dec 28, 2012, 09:56 pm by Coding Badly Reason: 1
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. :/
Code: [Select]
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  :)


Moderator edit: [code] [/code] tags added.

robtillaart

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.

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

CrossRoads

Fix the formatting of the line
Code: [Select]

if(digitalRead(LED) == HIGH){

Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

fraserhoenes

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

CrossRoads

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.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up