Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define ROOD 2 // aangeven welk nummer bij welke kleur hoort.
- #define GROEN 4
- #define ORANJE 3
- void setup() { // de syntax die uitgevoerd word voordat de loop begint.
- pinMode(2, OUTPUT); // De drie pins gebruikt door de LEDS.
- pinMode(3, OUTPUT);
- pinMode(4, OUTPUT);
- unsigned long startTime = 0; // zorg dat mijn variabel startTime op 0 begint voordat het uitgevoerd word.
- }
- void loop() {
- static unsigned long startTime ;
- static unsigned long reset ;
- startTime = millis() - reset; // geef mijn variabel startTime de definitie millis() - reset ( de timer )
- switch(startTime){ // gebruik het variabel startTime om in de cases nummers te gebruiken.
- case 2000: // rood gaat aan en oranje gaat uit op 2000ms.
- digitalWrite(ROOD, HIGH);
- digitalWrite(ORANJE, LOW);
- break; // break gebruikt zodat hij naar de volgende fase toe zal gaan.
- case 5000: // groen gaat aan en rood gaat uit op 5000ms.
- digitalWrite(GROEN, HIGH);
- digitalWrite(ROOD, LOW);
- break;
- case 7000: // oranje gaat aan en rood gaat uit op 7000ms.
- digitalWrite(ORANJE, HIGH);
- digitalWrite(GROEN, LOW);
- reset = millis(); // de timer word gereset naar 0ms en begint dus opnieuw de cyclus.
- break;
- }
- switch(startTime){ // mijn tweede finite state machine gebruikt voor het blinken van oranje tussen 1000 en 2000ms
- case 1000:
- digitalWrite(ORANJE, LOW);
- break;
- case 1100:
- digitalWrite(ORANJE, HIGH);
- break;
- case 1200:
- digitalWrite(ORANJE, LOW);
- break;
- case 1300:
- digitalWrite(ORANJE, HIGH);
- break;
- case 1400:
- digitalWrite(ORANJE, LOW);
- break;
- case 1500:
- digitalWrite(ORANJE, HIGH);
- break;
- case 1600:
- digitalWrite(ORANJE, LOW);
- break;
- case 1700:
- digitalWrite(ORANJE, HIGH);
- break;
- case 1800:
- digitalWrite(ORANJE, LOW);
- break;
- case 1900:
- digitalWrite(ORANJE, HIGH);
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement