Advertisement
Guest User

Untitled

a guest
Sep 20th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. int AnzahlDerDurchlauefe = 0; // Speichert die Anzahl der Phasendurchläufe
  3. long Durchlauflaenge = 14000; // Gibt an, wie lange ein Durchlauf dauern soll
  4. long timer; //Speichert die aktuelle vergangene Zeit im Durchlauf
  5.  
  6.  
  7. void setup() {
  8.   pinMode(13, OUTPUT);
  9.   pinMode(12, OUTPUT);
  10.   pinMode(11, OUTPUT);
  11.  
  12. }
  13.  
  14. void loop() {
  15.   //Brechnung vom timer: millis() gibt die aktuelle Programmlaufzeit wieder
  16.   //Da der Timer nur von 0 bis zur unserer Durchlauflaenge laufen soll,
  17.   //müssen wir von millis, was immer größer wird, unsere vorherigen Durchläufe abziehen
  18.   timer = millis() - AnzahlDerDurchlauefe * Durchlauflaenge;
  19.   //Wenn der timer einen Durchlauf erreicht hat, wird der Zähler um 1 erhöht
  20.   if (timer >= Durchlauflaenge) {
  21.     AnzahlDerDurchlauefe = AnzahlDerDurchlauefe + 1;
  22.   }
  23.   blaueLED(0, 5000);
  24.   roteLED(4000,9000);
  25.   gelbeLED(7500, 14000);
  26. }
  27.  
  28. void blaueLED(long start, long ende) {
  29.   if (timer >= start && timer <= ende) {
  30.     digitalWrite(13, HIGH);
  31.     digitalWrite(12, LOW);
  32.     digitalWrite(11, LOW);
  33.   }
  34. }
  35.  
  36.  
  37. void roteLED(long start, long ende) {
  38.   if (timer>=start && timer<=ende) {
  39.     digitalWrite(13, LOW);
  40.     digitalWrite(12, HIGH);
  41.     digitalWrite(11, LOW);
  42.   }
  43. }
  44.  
  45. void gelbeLED(long start, long ende) {
  46.   if (timer>=start && timer<=ende) {
  47.     digitalWrite(13, LOW);
  48.     digitalWrite(12, LOW);
  49.     digitalWrite(11, HIGH);
  50.   }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement