This is another implementation of a DIY Wordclock
Instead of single pixels I used a digital LED-stripe (10 pieces of 11 LEDs and 1 piece of 4 LEDs) with WS2812B-LEDs controlled by a NodeMCU (mini) with an ESP8266 Wifi module for configuration and NTP.
- NTP
- WIFIManager
- OTA
- easy to customzize to different front plates & LED wirings
- Webinterface for configuration of the wordclock
As there a multiple ways to wire the LEDs on the back of the clock and there are also multiple frontplates, there are two places where to configure the actual setup:
- layout.h
this file describes the wiring of the LED Strip. See explaination in file - words_layout.h
this file describes the frontplate via simple x/y coordinates
1st row left to right, 2nd row right to left, 3rd row left to right, ect...
0 X--X--X--X--X--X--X--X--X--X--X 10
|
21 X--X--X--X--X--X--X--X--X--X--X 11
|
22 X--X--X--X--X--X--X--X--X--X--X 32
|
43 X--X--X--X--X--X--X--X--X--X--X 33
|
44 X--X--X--X--X--X--X--X--X--X--X 54
|
65 X--X--X--X--X--X--X--X--X--X--X 55
|
76 X--X--X--X--X--X--X--X--X--X--X 76
|
87 X--X--X--X--X--X--X--X--X--X--X 77
|
88 X--X--X--X--X--X--X--X--X--X--X 98
|
109 X--X--X--X--X--X--X--X--X--X--X 99
|
`---------X--X--X--X
110 113
Every row left to right.
0 X--X--X--X--X--X--X--X--X--X--X 10
,-----------------------------´
11 X--X--X--X--X--X--X--X--X--X--X 21
,-----------------------------´
22 X--X--X--X--X--X--X--X--X--X--X 32
,-----------------------------´
33 X--X--X--X--X--X--X--X--X--X--X 43
,-----------------------------´
44 X--X--X--X--X--X--X--X--X--X--X 54
,-----------------------------´
55 X--X--X--X--X--X--X--X--X--X--X 65
,-----------------------------´
66 X--X--X--X--X--X--X--X--X--X--X 76
,-----------------------------´
77 X--X--X--X--X--X--X--X--X--X--X 87
,-----------------------------´
88 X--X--X--X--X--X--X--X--X--X--X 98
,-----------------------------´
99 X--X--X--X--X--X--X--X--X--X--X 109
|
`---------X--X--X--X
110 113
The matrix shows 10x11 letters to represent the time in german words. An array for each word, containing the coords of the letters, are in the words header file.
|Y\X|1|2|3|4|5|6|7|8|9|10|11| |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |1|E|S|K|I|S|T|A|F|Ü|N|F| |2|Z|E|H|N|Z|W|A|N|Z|I|G| |3|D|R|E|I|V|I|E|R|T|E|L| |4|V|O|R|F|U|N|K|N|A|C|H| |5|H|A|L|B|A|E|L|F|Ü|N|F| |6|K|E|I|N|S|L|M|Z|W|E|I| |7|D|R|E|I|A|U|J|V|I|E|R| |8|S|E|C|H|S|N|L|A|C|H|T| |9|S|I|E|B|E|N|Z|W|Ö|L|F| |10|Z|E|H|N|E|U|N|K|U|H|R|
|Y\X|1|2|3|4|5|6|7|8|9|10|11 |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |1|E|S|K|I|S|T|L|F|Ü|N|F| |2|Z|E|H|N|Z|W|A|N|Z|I|G| |3|D|R|E|I|V|I|E|R|T|E|L| |4|T|G|N|A|C|H|V|O|R|J|M| |5|H|A|L|B|Q|Z|W|Ö|L|F|P| |6|Z|W|E|I|N|S|I|E|B|E|N| |7|K|D|R|E|I|R|H|F|Ü|N|F| |8|E|L|F|N|E|U|N|V|I|E|R| |9|W|A|C|H|T|Z|E|H|N|R|S| |10|B|S|E|C|H|S|F|M|U|H|R|
Four more pixels shows additional minutes. In the original WordClock, they are in the corners but I prefered to place them under the last row.
|||||||||||| |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |E|S|K|I|S|T|A|F|Ü|N|F| |Z|E|H|N|Z|W|A|N|Z|I|G| |D|R|E|I|V|I|E|R|T|E|L| |V|O|R|F|U|N|K|N|A|C|H| |H|A|L|B|A|E|L|F|Ü|N|F| |K|E|I|N|S|L|M|Z|W|E|I| |D|R|E|I|A|U|J|V|I|E|R| |S|E|C|H|S|N|L|A|C|H|T| |S|I|E|B|E|N|Z|W|Ö|L|F| |Z|E|H|N|E|U|N|K|U|H|R| |||X||X||X||X|||
|||||||||||| |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |E|S|K|I|S|T|A|F|Ü|N|F| |Z|E|H|N|Z|W|A|N|Z|I|G| |D|R|E|I|V|I|E|R|T|E|L| |V|O|R|F|U|N|K|N|A|C|H| |H|A|L|B|A|E|L|F|Ü|N|F| |K|E|I|N|S|L|M|Z|W|E|I| |D|R|E|I|A|U|J|V|I|E|R| |S|E|C|H|S|N|L|A|C|H|T| |S|I|E|B|E|N|Z|W|Ö|L|F| |Z|E|H|N|E|U|N|K|U|H|R| |||X||X||X||X|||
|||||||||||| |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |E|S|K|I|S|T|A|F|Ü|N|F| |Z|E|H|N|Z|W|A|N|Z|I|G| |D|R|E|I|V|I|E|R|T|E|L| |V|O|R|F|U|N|K|N|A|C|H| |H|A|L|B|A|E|L|F|Ü|N|F| |K|E|I|N|S|L|M|Z|W|E|I| |D|R|E|I|A|U|J|V|I|E|R| |S|E|C|H|S|N|L|A|C|H|T| |S|I|E|B|E|N|Z|W|Ö|L|F| |Z|E|H|N|E|U|N|K|U|H|R| |||X||X||X||X|||
- have a look @ "userconfig.h"
- configure led wiring in "layout.h"
- configure frontplate in "words_layout.h"
- upload Code (first time via usb, later via OTA)
- upload spiffs data (HTML code)
pio run -t uploadfs
Article | Source | Price |
---|---|---|
WS2812B LED Stripes (30 LEDs/m, RGB) | BangGood.com | 20,40 € |
Mini NodeMCU | BangGood.com | 4,85 € |
3A Micro-USB Supply | BangGood.com | 4,49 € |
Some wires | bargain bin |