Lauflicht mit zufälligem Stop
|
20.02.2020, 17:48
Beitrag #1
|
|||
|
|||
![]()
Hallo zusammen,
ich beschäftige mich momentan mit einem Lauflicht aus 8 LED´s, was ich an sich auch am laufen habe. Meine neue Funktion soll sein, das die 8 LED´s immer der Reihe nach laufen wie bisher, zusätzlich aber langsamer werden und dann irgendwann nur eine LED an bleibt. Die Frage die sich mit stellt wäre, wie ich es am einfachsten hin bekomme, das nicht immer die gleiche LED am Ende an bleibt? Müsste ich mir eine Zufallszeit erzeugen, die dann nach jedem Durchlauf einen bestimmten Wert abzieht? Gleiches mit dem langsamer werden? Oder bin ich da auf dem falschen Weg? Vielen Dank für eure Hilfe. |
|||
20.02.2020, 18:28
Beitrag #2
|
|||
|
|||
RE: Lauflicht mit zufälligem Stop
Da Du Deinen Sketch geheim hälst, wird Hilfe kaum sinnvoll möglich sein.
Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
20.02.2020, 18:58
(Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2020 18:59 von Platinum.)
Beitrag #3
|
|||
|
|||
RE: Lauflicht mit zufälligem Stop
Der Sketch soll natürlich nicht geheim gehalten werden.
Als Info evtl. noch.... Die LED´s hängen an einem MCP23017 Port Expander in einem I2C-Bus. //Zufallsgenerator int LEDZufallPin[] = {8,9,10,11,12,13,14,15}; unsigned long letzterWechsel; int ZeitProLED = 100; int AktuelleLED = 15; void setup() { mcp3.pinMode(8, OUTPUT); //LED-1 Zufallsgenerator //mcp3.pullUp(8, HIGH); mcp3.pinMode(9, OUTPUT); //LED-2 Zufallsgenerator //mcp3.pullUp(9, HIGH); mcp3.pinMode(10, OUTPUT); //LED-3 Zufallsgenerator //mcp3.pullUp(10, HIGH); mcp3.pinMode(11, OUTPUT); //LED-4 Zufallsgenerator //mcp3.pullUp(11, HIGH); mcp3.pinMode(12, OUTPUT); //LED-5 Zufallsgenerator //mcp3.pullUp(12, HIGH); mcp3.pinMode(13, OUTPUT); //LED-6 Zufallsgenerator //mcp3.pullUp(13, HIGH); mcp3.pinMode(14, OUTPUT); //LED-7 Zufallsgenerator //mcp3.pullUp(14, HIGH); mcp3.pinMode(15, OUTPUT); //LED-8 Zufallsgenerator //mcp3.pullUp(15, HIGH); } void loop() { unsigned long aktuelleZeit = millis(); if (aktuelleZeit - letzterWechsel > ZeitProLED) { mcp3.digitalWrite(LEDZufallPin[AktuelleLED], LOW); AktuelleLED = (AktuelleLED + 1) % 8; mcp3.digitalWrite(LEDZufallPin[AktuelleLED], HIGH); letzterWechsel = aktuelleZeit; } } |
|||
20.02.2020, 19:07
(Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2020 19:12 von Tommy56.)
Beitrag #4
|
|||
|
|||
RE: Lauflicht mit zufälligem Stop
Stelle Deinen Sketch bitte in Codetags. So ist er auch auf portablen Geräten lesbar.
Wie das geht, steht hier. Das kannst Du auch noch nachträglich ändern. Ordentlich Einrücken (<Strg>+T im der IDE hilft Dir dabei) erhöht auch die Lesbarkeit. Gruß Tommy Edit: Wirf bitte dabei auch alle Zeilen raus, die Du nicht brauchst. "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
20.02.2020, 19:48
Beitrag #5
|
|||
|
|||
RE: Lauflicht mit zufälligem Stop
Code: //Zufallsgenerator |
|||
20.02.2020, 20:07
Beitrag #6
|
|||
|
|||
RE: Lauflicht mit zufälligem Stop
Das sieht doch schon viel übersichtlicher aus.
Du brauchst ein paar Variablen für die Zeitsteuerung und die letzte Runde (ungetestet) (20.02.2020 19:48)Platinum schrieb: Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste