Zufälliges "Lauflicht" aus LED-Würfel mit Lotto-Generator

Hallo Community,

ich möchte 6 LED-Würfel programmieren und brauche da Ideen oder Vorgehensweisen...habe Grundkenntnisse in Arduino-Programmierung und Neopixel-Stripes (z.B. FastLED)

ich stelle mir folgendes vor:

Es gibt 6 LED-Würfel (Milchglas-Würfel, ca. 20x20x20cm) im Würfel ist die Elektronik untergebracht.

Jeder der Würfel leuchtet komplett in einer bestimmte Farbe. Sechs Würfel = 6 definierte Farben.

Die Farben der Würfel sollen im Zufallsprinzip durchwechseln, also nicht im gleichen Rhythmus, z.B. rot, dann blau, dann gelb etc.)

Dann soll es möglich sein, auf Knopfdruck (Hardware-Button) die Farbe eines bestimmten Würfels (immer Würfel Nr. 6) anzuhalten, während die anderen weiter im Zufallsprinzip weiter durchwechseln. Ja, das klingt komplex, aber ich habe da eine ganz bestimmte Idee...Es handelt sich um einen Lotto-Generator - ein bestimmter Würfel zeigt das Ergebnis an (diese Farbe gewinnt) und die anderen Würfel wechseln weiter durch (im Grunde ein Show-Effekt)

Ich stelle mir vor, dass sich in jedem Würfel ein LED-Abschnitt von Neopixel-Stripes befindet, bzw. ein ganz langer Neopixel-Stripe, dessen DATA-Leitung durch alle Würfel geht, Stromversorgung wird am ersten Würfel eingespeist und je nach Leistungshunger in weiteren Würfeln.

Mein Defizit hier ist die Programmierung der Zufallfunktion. Da kenne ich mich zu wenig aus….Idealerweise leuchten zwei Würfel nicht in der gleichen Farbe. Also müsste das Programm alle 6 LED-Abschnitte betrachten und die Farben nach Zufall „verteilen“. Wenn das nicht geht, kann ich mir vorstellen, dass man eine Zufalls-Funktion für jeden Abschnitt (=1 Würfel) erstellt und auch mal 2 oder mehrere Würfel kurz in der gleichen Farbe leuchten. Ich möchte ganz einfach ein Lauflicht verhindern…

Was haltet ihr von Neopixeln?

Gibt es sowas evtl. als fertige Lösung?

Danke euch

Meine Vorgehensweise wäre:
Mit randomSeed in Abhängigkeit eines unbenutzten Eingangs im Setup den Zufall etwas zufälliger machen, mit random die RGB-Bestandteile der jeweiligen Farbe erzeugen und diese in einem Array abspeichern. Bei jeder weiteren Farbe im Array schauen, ob es die schon gibt. Wenn nicht -> gut, eintragen ansonsten diese Farbe neu auswürfeln.

Gruß Tommy

Hallo,

wenn Du FastLED nehmen nehmen willst dann schau Dir doch den CHSV Farbmodus an. Dabei wird zum einstellen der Farbe nur eine Variable benötigt . Das macht den Aufwand für die Abfrage auf doppelte Werte einfacher.
Die FastLED lib hat auch "Timer" Funktionen mit der sich leicht zeitgesteuerte Umschaltungen machen lassen, z.B EVERY_N_MILLISECONDS() . Schnelle random Funktionen und andere Mathe Funktionen gibts auch.

Da gibts unendliche Möglichkeiten zum Spielen und probieren.

Heinz

sind super.

nein.

Hast sonst noch eine Frage?

Ansonsten habe ich einen Hinweis: Zeichne dir den Ablauf komplett auf, weil ich vermute du hast noch nicht alles beschrieben.
z.B. was passiert, wenn nun Würfel 6 gestoppt ist und somit in einer Farbe leuchtet, wie lange gibts die Effekte auf den verbleibenden Würfeln. Durch welche Aktion endet es? Was passiert dann?

Wodurch "endet" das Spiel bzw. wann beginnt es wieder von vorne?

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.