binäre Uhr mit Arduino und 16 WS2812B

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Servus zusammen.
    Ich habe heute meinen 16er-WS2812B-Ring von Watterott (http://www.watterott.com/de/WS2812B-RGB-Ring-16) bekommen und mir ist spontan eine Idee dazu gekommen.

    Warum nicht eine binäre Uhr daraus machen?
    16 LEDs = 16 Bit = 4 Bit für die Stunden und jeweils 6 Bit für die Minuten und Sekunden.

    Dies bedeutet im Umkehrschluss, dass die Stunden nur von 0 - 12 dargestellt werden können. (4 Bit = 1+2+4+8 = 15)
    Minuten und Sekunden werden natürlich bei 6 Bit komplett dargestellt, denn mit 6 Bit kann man maximal die Zahl 63 darstellen.

    Da die Uhr natürlich auch genau gehen soll, habe ich in meinem Fundus gekramt und noch eine RTC (Real Time Clock) DS1307 gefunden.

    HW-Zutaten:
    1 x Arduino (egal welcher)
    1 x 16 WS2812B LEDs im Ring oder als Streifen
    1 x DS1307 RTC
    7 x Jumper-Kabel

    SW-Zutaten:
    1 x RTC-Library von http://www.pjrc.com/teensy/td_libs_DS1307RTC.html
    1 x Time-Library von http://www.pjrc.com/teensy/td_libs_Time.html
    1 x FastLED-Library von https://github.com/FastLED/FastLED

    Die fertig verkabelte Hardware sollte so aussehen:

    Spoiler anzeigen

    Hier ist der Sketch, der keinerlei Anspruch auf Perfektion hat. Jeder, der noch die eine oder andere Optimierung beisteuern kann und will, der ist herzlich eingeladen, diese als Kommentar zu posten und bitte auch zu erklären :D :danke_ATDE:

    Nun aber der Sketch:

    Spoiler anzeigen
  • Was mich jetzt grad noch "nervt": Ich hab bisher noch nicht herausgefunden, wie ich einzelne LEDs dimmen kann... Es gibt zwar eine Funktion dafür aber irgendwie scheint diese nicht anzusprechen :(

    So, wenn man anstelle von RGB auf HSV umstellt, dann funktioniert es auch. Allerding (bisher) ohne die Verwendung der Farbnamen...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!