The time is displayed on the WS2812 LED strip containing 34 LEDs. Hours, decadic-minutes and minutes each have their own color.
Device is really simple and contain only a few components:
- Arduino Nano microcontroller
- WS2812 RGB Led strip containing 34 Leds
- Three momentary switches for setting the clock
- Potentiometer for adjusting the light intensity of the LEDs
- And 3 Pull_up resistors
The way the time is displayed is as follows: The first group of 15 LEDs shows the hour. The second group of six diodes shows the tens of minutes, and The third group of 12 LEDs shows the minutes. For easier reading, all groups are divided into subgroups of 3 LEDs each. Otherwise the idea and the original code is from "Jan" profile on Hackaday. Its code is adapted to change the intensity of the LEDs depending on the outdoor lighting with LDR resistor. In my case this proved to be impractical because My clock is in a place where there is no change of ambient light so I modify the original code and the intensity of LEDs can be changed manually using a potentiometer.
The colors of each group can be easily changed in the code in the following rows:
#define FARBE_STUNDEN Crimson // <-- Hour Color
#define FARBE_ZEHNERMINUTEN LimeGreen // <-- Decade minutes Color
#define FARBE_MINUTEN SkyBlue // <-- Minutes Color
Setting the correct time is done with three keys: menu, plus and minus key. Long pressing the menu key enters the setting mode and the hour LEDs start flashing. Now by pressing the plus or minus keys we set the hour. With the next short click we switch to tens of minutes, then only minutes. When we have finished setting, long press the menu key again to return to the standard clock mode. As I mentioned earlier, the brightness of the LEDs is adjusted manually with a potentiometer located on the back of the watch.Finally, the device is placed in a suitable box and is a functional decoration in the home.