KS-Batman-Watch
(The clock shows 7:11 here)
Situation
As you are not often calling Batman through your big round Batman-Window you want to use it as well to show you what time it is. To do so, you use a Led-Strip of the WS2801- Type. (see picture).
The watch consists of the clock face showing hours 1, 2, 3, 4, 5 and 7, 8, 9, 10 and 11 – there is no space for 12 and 6. The hour is indicated by activating one led before and after the according clock face hour. (hour pointer)
Every minute consists of two LED's – Except 59(1), 60(0), 1(1) and 29(1), 30(0) and 31(1).The minute pointer is made of 6 fallowing LED's lighten up in a different color then the hour pointer. The last two leds (clockwise) indicate the actual minute.
I did not make a pointer for the seconds – this would be to disturbing.
Step 1: Hardware
I ordered the following hardware at aliexpress:
DS3231 Time Module
LIR2032 rechargeable LiIo-Battery (rechargeable - thats what the R stands for)
Hello Fish WS2801 led stripe
Box for the electronic
Power supply 5V 10A (quite oversized)
Arduino UNO board
Around 60 USD for all. (The most expensive was the LED-stripe ~40 USD. You can find cheaper ones now.)
Step 2: Features
(the clock shows 6:39 here)
Basically the thing shows the time. You only have to know that
when the minute pointer overlaps the hour pointer the color of these leds is changed to another configurable color.
The watch is programmed with an automatic change of the daylight saving time (DST). As I use the Alarm2 true/false to save DST active not active – even after a power loss you do not have to set the DST-Bit again. The time is kept thanks to the LIR2032 and as well is the bit for Alarm2 true/false.
You can define in the configuration section all the colors you want to use for the clock face, the two pointers, and the overlap – color. (minute pointer over hour pointer).
Step 3: Wiring and Schematic Diagram
With the adjustment screw on the right side of the power supply
(V0ADJ) you can change the output voltage. I increased it to 5.5V – because my "clock" is far away from the power supply and I have quite a voltage loss because of the cable length.
Step 4: Code and Libraries
In the code DoW=1 means monday and DoW=7 is for sunday. Just
remember when you set the time after total power loss.
I use the library from Andrew Wickert – that comes standard for the DS3231 with the Arduinuo environment. And you need of course the FastLED – library for the WS2801 LED stripe.
For the DST-code-part I followed the code from diy_bloke with comment from TedF23. (see: https://www.instructables.com/id/The-Arduino-and-Daylight-Saving-Time-Europe/)