I'm new in Arduino and today I have a problem with this code:
int led_1 = 10;
int led_2 = 11;
int led_3 = 12;
int button = 3;
int time = 0;
byte val = 0;
void setup() {
// put your setup code here, to run once:
pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
pinMode(led_3, OUTPUT);
pinMode(button, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
val = digitalRead(button);
if (val == HIGH){
time = millis();
while (digitalRead(button) == HIGH){
if (millis() - time < 1000) {digitalWrite(led_1, HIGH);}
else if (millis() -time > 1000 && millis()-tempo <2000) {digitalWrite(led_2, HIGH);}
else if (millis()-time >2000) {digitalWrite(led_3, HIGH);}
}
}
else {
time =0;
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
}
}
It works for a while, then after a random time (I think) if I push the button, only the led_3 turns on. Why?