ich wende mich mit meinem Problem nun an euch. Danke schon mal für die Zeit und eure Tipps.
Ich möchte gerne mit meiner Fräse eine schöne Digitaluhr bauen und diese dann mit einem Arduino betreiben. Ich bin seit einer Woche am einlesen aber finde nicht das richtige Konzept. Das Ganze soll so sein das ich ich die reine Uhrzeit über jeweils 3-4 LEDs pro Zeitsegment anzeigen möchte (Diese werden ausgefräst und dann von hinten beleuchtet). Dazu kommen dann noch 60 LEDs die Nacheinander aufleuchten sollen, und damit die Sekunden darstellen.
Heißt also:
7 Segmente x 4 Anzeigen x 4 LEDs = 112 LEDs
dazu kommen die 60 für die Sekundenanzeige und 2 bis 4 für den Doppelpunkt.
Soweit zum Aufbau........
Nun stellt sich die Frage, wie ich den Aufbau vornehme und was ich dafür genau an Bauteilen brauche? Reicht da quasi fast der Arduino und eine Leiterplatte zum verdrahten oder brauche ich z.B. noch weitere Teile wie irgend welche Schieberegister ? Das wird mir leider nicht genau klar aus den zahlreichen Videos und Einträgen.
Und dazu kommt die Sache, dass ich zwar Infos finde, wie ich das Multiplexing programmiere, aber wie genau mache ich das mit der aktuellen Zeit ? das habe ich ebenfalls nicht richtig gefunden ?
Ich will jetzt auch gar keine kompletten Lösungen von euch, oder fertige Schaltpläne, aber vielleicht habt ihr ja ansetzte oder Beispielaufbauten, die ich mir angucken kann. Vielleicht fehlt mir auch ein Schlüsselwort was ich Googlen kann.
Guck mal in den Uhrensammelthread, da sind viele Konzepte vorgestellt worden: https://forum.arduino.cc/index.php?topic=175674.0
Für die Segmente, bei 4 LEDs, würde ich diese in Reihe schalten, und mit 15V versorgen und diese, wie in meinem Konzept, mittels 595 Scheiberegistern mit nachgeschalteten Treibern, realisieren. Entweder, wie ich mit diskreten Transitstoren, oder mit ULN2003.
Für die 60 LEDs der Sekundenanzeige kannst du z.B. einem MAX7219 nehmen. Dieser kann 64 LEDs treiben. Ansonsten, WS2812 Neopixel sin auch noch eine Variante. Dese belegen nur einen einzigen Pin.
Zeit ->
Zeitstellen ->
Automatische Sommerzeitumstellung ->
NTP ->
kein Netzwerkkabel zur Uhr legen wollen->
WLAN ->
ESP8266 ->
statt ESP besser Wemos/NodeMCU weil einfacher zu Handhaben
weniger PINs als Uno->
MAX7219 (eh schon genannt) ->
WS2812, APA106, ... viele Pins gespart
wäre auch mein Weg, Wemos D1 mini mit dem ESP8266 und viele WS2812 o.ä.
Als Lib entweder gleich die NeoPixelBUS nehmen oder die gepachte FastLED damit die LED-Ansteuerung per DMA erfolgt. Sonst gibt es auf dem ESP gern Geflacker wenn man viele LEDs und WLAN nutzt.
Helmuths Feuer macht hier mit 256 WS2812 max. 143 Frames/s.
WS2812 vertragen sich beispielsweise nicht mit einer IR-Fernbedienung, die anderen schon.
Anstelle Schieberegister gehen auch mehrere MCP23017, einfache Ansteuerung mit Bibliothek.
Du benötigst ein hinreichend starkes Netzteil. Für meine LED-Uhr habe ich eins mit 15V genommen, weil dann die Zuleitung dünn ausfallen kann. Ein StepDown wandelt dann in die notwendigen 5V um. Der wird nicht warm, wichtig bei Holz.
Als Uhrenmodul verwende ich DS3231. Bei Zimmertemperatuir habe ich die in einem Jahr noch nicht stellen müssen. Auch mit Netzverbindung würde ich so ein Uhrenmodul nutzen und nur ab und an synchronisieren.
wäre auch mein Weg, Wemos D1 mini mit dem ESP8266 und viele WS2812 o.ä.
Als Lib entweder gleich die NeoPixelBUS nehmen oder die gepachte FastLED damit die LED-Ansteuerung per DMA erfolgt. Sonst gibt es auf dem ESP gern Geflacker wenn man viele LEDs und WLAN nutzt.
Helmuths Feuer macht hier mit 256 WS2812 max. 143 Frames/s.
Gruß aus Berlin
Michael
Ich sehe nicht was da flackern soll.
Die Ws2812 steuern autonom die internen LED über PWM an. Darum gibt es kein Geflacker wenn der Arduino anderweitig beschäftigt ist.
grüße Uwe
uwefed:
Ich sehe nicht was da flackern soll.
Die Ws2812 steuern autonom die internen LED über PWM an. Darum gibt es kein Geflacker wenn der Arduino anderweitig beschäftigt ist.
grüße Uwe
Solange er pünktlich z.B. bei schnelleren Farbeffekten die LED-Daten rausschickt ist alles ok. Schafft er das nicht, hackt es im Ablauf des Effektes.