Kann mir das jemand erklären?

Elumania  10.12.2021, 12:00

Ist der Code richtig, also macht er was er machen soll?

doenermann712 
Fragesteller
 10.12.2021, 12:01

ja aber wir sollen jede einzelne zeile erklären können und das hab ich halt vom internet kopiert

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich habe das mit TinkerCAD nachgebaut.

https://www.tinkercad.com/embed/k5xpExovac1?editbtn=1

Diese Zeile hier bewirkt in den ersten 30 Sekunden seit der Button gedrückt wurde:

 if (millis( ) - myTimer < ( 30000) ) { // 30 Sekunden
   digitalWrite(ledPins[ 0 ], ((millis( ) - myTimer) % 1000) > 500);

dass der zweite Eingabewert von DigialWrite immer von 0 bis 999 hochzählt. Ist er bei 999 angekommen, dann wiederholt sich das, also es wird wieder von 0 bis 999 gezählt. Es wird aber nicht jeder Wert angenommen, wegen dem Modulo %.

Hier siehst du ein Ausschnitt, was an digitalWrite übergeben wird.

952 962 973 983 995 5 15 25 37 47

Die LED blinkt also, sie wird immer heller und wenn sie komplett hell ist schaltet sie wieder auf Null und wird dann wieder heller.

Wenn die ersten 30 Sekunden um sind, dann bleibt der Wert bei 999, die LED also hell und die zweite LED beginnt wieder zu blinken.

doenermann712 
Fragesteller
 13.12.2021, 09:50

dankeschön :)

1