Hello, I’m programming blinkit two leds at 8 hz. I want get 10 cicles of the following scheme (30 s off, 30 s LED1 on, 30 s off, 30 sLED2 on) (I programmed with a pulse botton in pin 7). The problem is that it does not stop at 10 cycles. However if I give shorter intervals (for example: 3 s off, 3 s LED1 on, 3 s off, 3 s LED2 on) IT WORKS!!! (stop at 10 cycles), but I can´t get 10 cycles in my scheme (30 s LEDs on).
Help please!
int val = 0;
int state = 0;
int old_val = 0;
int reps;
int var;
void setup()
{
pinMode(7,INPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
}
void loop()
{
val = digitalRead(7);
if ((val == HIGH) && (old_val == LOW)){
state=1-state;
}
old_val = val;
if (state==1){
{
var = 0;
while(var < 10) {
delay(30000);
for(reps = 0; reps < 240; reps ++)
{
blinkit12();
}
delay(30000);
for(reps = 0; reps < 240; reps ++)
{
blinkit13();
}
var++;
}
exit(0);
}
}
else{
digitalWrite(12,LOW);
digitalWrite(13,LOW);
}
}
void blinkit12()
{
digitalWrite(12,HIGH);
delay(65);
digitalWrite(12,LOW);
delay(60);
}
void blinkit13()
{
digitalWrite(13,HIGH);
delay(65);
digitalWrite(13,LOW);
delay(60);
}