Kann mir das jemand erklären?

Arduino-Code und Erläuterungen für den Zähneputz-Timer

[code]

const int ledPins[ ] = {7, 8, 9, 10, 11, 12};

const int buttonPin = 2;

long myTimer = -200000;

void setup( ) {

 for (int i = 0; i < 6; i++) {

  pinMode(ledPins[ i ], OUTPUT);

 }

 pinMode(buttonPin, INPUT_PULLUP);

 Serial.begin(9600);

 for (int i = 0; i < 6; i++) {

  digitalWrite(ledPins[ i ], LOW);

 }

}

void loop( ) {

 if (digitalRead(buttonPin) == LOW) {

  myTimer = millis( );

 }

 if (millis( ) - myTimer < ( 30000) ) { // 30 Sekunden

  digitalWrite(ledPins[ 0 ], ((millis( ) - myTimer) % 1000) > 500);

 } else if (millis( ) - myTimer < ( 60000) ) { // 60 Sekunden

  digitalWrite(ledPins[ 1 ], ((millis( ) - myTimer) % 1000) > 500);

 } else if (millis( ) - myTimer < ( 90000) ) { // 90 Sekunden

  digitalWrite(ledPins[ 2 ], ((millis( ) - myTimer) % 1000) > 500);

 } else if (millis( ) - myTimer < ( 120000) ) { // 120 Sekunden

  digitalWrite(ledPins[ 3 ], ((millis( ) - myTimer) % 1000) > 500);

 } else if (millis( ) - myTimer < ( 150000) ) { // 150 Sekunden

  digitalWrite(ledPins[ 4 ], ((millis( ) - myTimer) % 1000) > 500);

 } else if (millis( ) - myTimer < ( 180000) ) { // 180 Sekunden

  digitalWrite(ledPins[ 5 ], ( (millis( ) - myTimer) % 1000) > 500);

 } else if (millis( ) - myTimer < ( 190000) ) { // nach 180 Sekunden

  for (int i = 0; i < 6; i++) {

   digitalWrite(ledPins[ i ], ( (millis( ) - myTimer) % 1000) < 500);

  }

 } else {

  for (int i = 0; i < 6; i++) {

   digitalWrite(ledPins[ i ], LOW);

  }

 }

 delay( 10 );

}

[/code]

Schule, Arduino
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.