Programma om twee lichten te laten flikkeren voor een bepaalde tijd

Dag allemaal

Ik zit de laatste weken met een probleempje. Ik ben aan het proberen om een programma te schrijven voor het flikkeren van twee ledjes voor een bepaalde tijd bij het inkomen van een signaal. Het signaal moet een sensor voorstellen die beweging detecteerd. Ik heb al een beetje een idee hoe ik hier aan moet beginnen, maar het probleem is dat ik niet vind hoe je een programma zich blijft herhalen totdat er bevoorbeeld 10 seconde voorbij zijn en dan moet hij stoppen met het programma te herhalen en direct resetten.

Hier is het programma dat ik nu al heb:

int switchState = 0;
void setup(){
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
}

void loop(){
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
delay(500);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
delay(500);
}

Alvast bedankt!!!

Edit: code tags toegevoegd

The function millis() is used for that.
Start with the example : Blink Without Delay

The millis() function can be used for doing timed tasks while the sketch can do other things. It can be used together with a state machine, or to do something every minute as a background task. It is very versitile, but you have to get used to programming with millis().

Without using millis(), you could try a for-loop of ten times. Your loop() function takes now a second, so if you do that 10 times, you have about 10 seconds.

  for ( int i=0; i<10; i++)
  {
    // led on
    // delay
    // led off
    // delay
  }

Dag dries
Peter heeft gelijk. Kijk ens naar blink without delay.
Met vriendelijke groet
Jantje

Hoi Dries, en welkom.

Belangrijk detail hierbij is dat je dan dus alles op die manier moet gaan doen.
Dus werkelijk ALLE delay() eruit gooien, anders gaat je programma helemaal uit de pas lopen.
Delay() is leuk voor een proof of concept of wanneer je buiten void.loop een vertraging nodig hebt.
Anders is bijna altijd wel de blink without delay methode te prefereren.

Dear Peter_n

I have tried your program but it didn't work. It keeps on going on without stopping after 10 seconds.

Kind regards
Dries_Ghys

Hoi Dries.
Wil je de code die je hebt geprobeerd dan nog even posten ?
En dan dus [code] [/code] tags gebruiken.

Je had toch al wel door dat de code die Peter_n gepost heeft, in feite niets doet en dat je daar zelf wat moet invullen ?