Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.01 KB | None | 0 0
  1. #define ROOD 2  // aangeven welk nummer bij welke kleur hoort.
  2. #define GROEN 4
  3. #define ORANJE 3
  4. void setup() { // de syntax die uitgevoerd word voordat de loop begint.
  5.   pinMode(2, OUTPUT); // De drie pins gebruikt door de LEDS.
  6.   pinMode(3, OUTPUT);
  7.   pinMode(4, OUTPUT);
  8.   unsigned long startTime = 0; // zorg dat mijn variabel startTime op 0 begint voordat het uitgevoerd word.
  9. }
  10.  
  11. void loop() {
  12.   static unsigned long startTime ;
  13.   static unsigned long reset ;
  14.  
  15.   startTime = millis() - reset; // geef mijn variabel startTime de definitie millis() - reset ( de timer )
  16.   switch(startTime){  // gebruik het variabel startTime om in de cases nummers te gebruiken.
  17.     case 2000:                // rood gaat aan en oranje gaat uit op 2000ms.
  18.     digitalWrite(ROOD, HIGH);
  19.     digitalWrite(ORANJE, LOW);
  20.     break;                   // break gebruikt zodat hij naar de volgende fase toe zal gaan.
  21.     case 5000:               // groen gaat aan en rood gaat uit op 5000ms.
  22.     digitalWrite(GROEN, HIGH);
  23.     digitalWrite(ROOD, LOW);
  24.     break;
  25.     case 7000:               // oranje gaat aan en rood gaat uit op 7000ms.
  26.     digitalWrite(ORANJE, HIGH);
  27.     digitalWrite(GROEN, LOW);
  28.     reset = millis();      // de timer word gereset naar 0ms en begint dus opnieuw de cyclus.
  29.     break;
  30.     }
  31.     switch(startTime){    // mijn tweede finite state machine gebruikt voor het blinken van oranje tussen 1000 en 2000ms
  32.     case 1000:
  33.     digitalWrite(ORANJE, LOW);
  34.     break;
  35.     case 1100:
  36.     digitalWrite(ORANJE, HIGH);
  37.     break;
  38.     case 1200:
  39.     digitalWrite(ORANJE, LOW);
  40.     break;
  41.     case 1300:
  42.     digitalWrite(ORANJE, HIGH);
  43.     break;
  44.     case 1400:
  45.     digitalWrite(ORANJE, LOW);
  46.     break;
  47.     case 1500:
  48.     digitalWrite(ORANJE, HIGH);
  49.     break;
  50.     case 1600:
  51.     digitalWrite(ORANJE, LOW);
  52.     break;
  53.     case 1700:
  54.     digitalWrite(ORANJE, HIGH);
  55.     break;
  56.     case 1800:
  57.     digitalWrite(ORANJE, LOW);
  58.     break;
  59.     case 1900:
  60.     digitalWrite(ORANJE, HIGH);
  61.     break;
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement