Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int AnzahlDerDurchlauefe = 0; // Speichert die Anzahl der Phasendurchläufe
- long Durchlauflaenge = 14000; // Gibt an, wie lange ein Durchlauf dauern soll
- long timer; //Speichert die aktuelle vergangene Zeit im Durchlauf
- void setup() {
- pinMode(13, OUTPUT);
- pinMode(12, OUTPUT);
- pinMode(11, OUTPUT);
- }
- void loop() {
- //Brechnung vom timer: millis() gibt die aktuelle Programmlaufzeit wieder
- //Da der Timer nur von 0 bis zur unserer Durchlauflaenge laufen soll,
- //müssen wir von millis, was immer größer wird, unsere vorherigen Durchläufe abziehen
- timer = millis() - AnzahlDerDurchlauefe * Durchlauflaenge;
- //Wenn der timer einen Durchlauf erreicht hat, wird der Zähler um 1 erhöht
- if (timer >= Durchlauflaenge) {
- AnzahlDerDurchlauefe = AnzahlDerDurchlauefe + 1;
- }
- blaueLED(0, 5000);
- roteLED(4000,9000);
- gelbeLED(7500, 14000);
- }
- void blaueLED(long start, long ende) {
- if (timer >= start && timer <= ende) {
- digitalWrite(13, HIGH);
- digitalWrite(12, LOW);
- digitalWrite(11, LOW);
- }
- }
- void roteLED(long start, long ende) {
- if (timer>=start && timer<=ende) {
- digitalWrite(13, LOW);
- digitalWrite(12, HIGH);
- digitalWrite(11, LOW);
- }
- }
- void gelbeLED(long start, long ende) {
- if (timer>=start && timer<=ende) {
- digitalWrite(13, LOW);
- digitalWrite(12, LOW);
- digitalWrite(11, HIGH);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement