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
Arduino programmieren?

Kennt sich jemand hier aus um das zu programmieren

First Shield:

Es sollen die Taster S1 und S2 mittels Flankenerkennung eingelesen werden.

Es soll bei beiden Tastern die negative Flanke erkannt werden.

Die Flankenerkennung soll selbst programmiert werden.

Zusätzlich sollen die beiden Taster mittels geeigneter Software entprellt werden.

Funktion S1:

S1 schaltet die Zählrichtung um.

Die Zählrichtung wechselt bei jedem Drücken des Tasters zwischen Aufwärtszählung und

Abwärtszählung.

S2 wird als Zähleingang verwendet. Jeder Tastendruck wird gezählt und in einer Variablen

abgespeichert.

Diese Zählvariable wird "usi_zaehler" benannt und ist vom Datentyp unsigned short integer.

Diese Variable soll nur Werte zwischen 0 und 9 annehmen.

Hat die Variable eine der beiden Grenzen erreicht, so bleibt sie auf dem jeweiligen Wert stehen,

bis wieder ein Richtungswechsel durchgeführt wird.

7-Segment-Anzeige:

Die Zählvariable soll auf dem "DIGIT1" dargestellt werden.

Zusatz-Aufgabe für interessierte Schüler:

Entsprechend dem Wert der Zählvariable "usi_zaehler" von 0 bis 9 soll die RGB-Led von

0% bis 100% angesteuert werden und damit die Helligkeit entsprechend der 7-Segment-Anzeige

angesteuert werden.

Bei jedem Zählrichtungswechsel soll die Farbe der RGB-Led wechseln.

Die Reihenfolge der Farbwechsel lautet:

Rot-Grün-Blau-Alle drei Farben gleichzeitig-Rot-Grün-Blau-Alle drei Farben gleichzeitig - usw.

Computer, Technik, programmieren, Arduino, Technologie

Meistgelesene Beiträge zum Thema Arduino