Wortuhr mit WS2812B und DS3231

Hallo

Ich möchte mit einem Arduino, WS2812B LED's und einem DS3231 eine Wortuhr herstellen. Ich habe zwei Fragen zum Programmieren...

  1. Wie kann ich mehrere WS2812B LED's in eine ''Gruppe'' setzen?

  2. Wie kann ich diese Gruppe dann, um eine bestimmte Zeit, ansteuern?

Vielen Dank im Voraus

Hallo,

sorry hab Deine Frage nicht ganz verstanden.

1.du willst Gruppen aus mehreren LED´s bilden und die gemeinsam ansteuern. ?

vermutlich um eine Zahl darzustellen

2.du willst diese Gruppen nach einer bestimten Zeit wieder anschalten ?

vermutlich um dargestellte Zahl auszuschalten.

mit der Lib "FastLED" werden viele Beispiele mitgeliefert bei denen gezeigt wird wie man das machen kann.

hier die Doku dazu.

FastLED Doku

Hi

Du sagst allen LEDs, wie Sie leuchten sollen - Fertig.
Wenn Du z.B. für das Wort 'Zehn' die LEDs 45,55,65,75 anzusteuern hättest, wäre mein Weg: ein Array mit Start, Länge und ggf. Abstand.
Wenn der Stripe 'mit Sinn und Verstand' verlegt wurde, reicht Dir Anfang und Länge, da die Pixel dann Alle hintereinander, also der Reihe nach, unter dem Wort liegen.

  • warte, bis die Sekunde Minute um ist
  • alle Pixel löschen (Das hat NICHTS mit dem Ausschalten zu tun)
  • ermitteln von den anzuzeigenden Worten
  • per Schleife die Pixel der verschiedenen Worte setzen
  • Pixel.show();
  • zurück zum Warten

Wenn die Uhr noch was Anderes, als Warten, machen soll, käme der ganze Block hinter eine IF-Abfrage, Die eben abfragt, ob 'wir eine neue Sekunde Minute' haben.
Davor musst Du noch Deine RTC abfragen, sonst weiß der Sketch ja die aktuelle Uhrzeit gar nicht.

MfG

Edit
Ups - klar, eine sekündlich wechselnde Wortuhr wäre auch etwas 'nervös' abzulesen :wink:
... dann die Warterei bis zur nächsten Minute, statt Sekunde.
Danke Tommy @ #3
... jetzt habe ich glaube alle Sekunden 'umgemünzt'

Wortuhren werden nur mit Stunden und Minuten angesteuert.

Ein anderer Weg (wenn sie nicht nacheinander folgen) wäre ein Array, in dem die Arrays der Gruppen (mit einem nicht vorkommenden Wert abgeschlossen-z.B. 0xff) die Nummern der LED dieser Gruppe beinhalten.

Gruß Tommy

Danke für die Antworten.

Leider kenne ich mich noch nicht so gut mit Arduino aus (Habe vor etwa 6 Wochen angefangen). Gibt es ein Beispiel von dem Code, den ich verwenden muss?

Freundliche Grüsse

Was Du machen möchtest, wurde schon häufiger gemacht, da solltest Du in diesem Forum fündig werden.

Uhren Sammelthread

Ich habe so eine Uhr schon gebaut. Ich könnte Dir den Code schicken.

Wenn Dein Code noch nicht im genannten Uhrensammelthread ist, dann bitte dort veröffentlichen und hier verlinken.

Gruß Tommy