Items used in this project
I used a Raspberry Pi Zero W along with FadeCandy to control the LEDs. The system uses Node.js and provides the user with a webpage for setting the colors of the hours, minutes, seconds and background.
I'm from Houston so I loaded it with a few local sports teams. The user can quickly set all 4 colors at once by selecting the team logo. The user could always manually adjust the colors by selecting one and turning the desired color.
How it works
I'm using 5 LEDs to represent the hour hand, 3 LEDs to represent the minutes and a single ticking LED to represent the seconds hand.
Since this clock is connected to the internet, I would like to add additional features that would allow for the user to be notified in the event of certain actions. Some examples would be:
- Email notifications
- Interface with OctoPrint API for printer notifications
This app is built using Node.js. It runs a simple Express webserver which provides the user with a webpage connected via web sockets. When the user selects a color, that event is emitted to the server. The server then sets the color and fadecandy updates the neopixels. When the user selects a sports team, it just sets all 4 colors and emits the same change event.