MAZE RUNNER inspired LED matrix clock (16x16)
prusaprinters
MAZE RUNNER inspired LED 16x16 matrix clock with 256 NeoPixel LEDs Features:16x16 matrix clock that you cannot read directly without knowing where you have to look. Some people i showed it had a really hard time to see it and some gave up trying it… :-PThe background is randomly generated in RGB colors every new hourThe digits of the clock seem to disappear in the background if you do not set a strong color for the numbersEvery minute after 30 seconds a little “maze runner” runs over the numbers and tries to escape ;)A night mode option is available in the settings to turn off the clock at night timeThe clock uses an ESP8266 that drives the 256 LEDs wellThe time is read from an NTP server on the internet. You can set the NTP server and time zone that fits your timeThe color of the maze runner, time digits and letters can be set in the settings In general the code is capable of showing letters too on the 4 digit segments. The clock uses this during the startup phase to show f.e. the connection status to your WiFi and a logoDuring startup the text “WIFI" is shown in red until the clock is connected and switches to green color then You can join your WiFi network with the know “WifiManager” for Arduino. See notes belowIn case the clock can not reach the set time server a red text “TIME” is shown and the ESP will reboot to try againThe case can be placed on a desk or on your wall Needed parts:1x 16x16 LED matrix 1x Wemos D1 mini or similar 1x White Micro USB cable 2-3m1x USB 5V/3A power supply 1 small cable tie to secure the USB plug in place 1 piece of white paper with ~159x159mm dimension Wiring the parts:D1 mini pin:LED matrix pin:Color:5V+5VredGGNDwhiteD2DINgreen Uploading the code and changes needed:Use the Arduino IDE to upload the code to the D1 mini. Follow f.e. this guide to see howYou will need 3 additional libraries: “Adafruit Neopixel’, “WiFiManager” and “TimeLib” which you need to add in the Arduino IDE library manager In the code you should check the settings of the sketch in the file “settings.h”://####################################################################################################################################################// Adjust program settings here:// ##############################define BRIGHTNESS 128 // Brightness between 0 - 255 (128 was close to the limit for my USB port power outlet... Do not set this to high on your PC USB port...)#define BRIGHTNESS_OFF 0 // Brightness between 0 - 255 when using night mode is used#define NIGHTMODE_USED 1 // Turns Night Mode on (1) or off (0) after the set times below:int NIGHTMODE_START = 22; // Night Mode Start time: At the default 22 o'clock (value 22) the brigtness will be set to the value BRIGHTNESS_OFF = 0int NIGHTMODE_END = 7; // Night Mode End time: At the default 7 o'clock (value 7), the brigtness will be set to the value BRIGHTNESS = 128#define RESETWIFI 0 // To DELETE the WiFi settings set to "1" and upload the sketch to the ESP. Set to "0" again and upload once more#define SHOWSTARTTEXTS 1 // Show (1) or do not show (0) the "AWSW" "MAZE" "CLOCK" text at startup// Color of the MAZE numbers:#define COL_MAZE_NUMBER COL_MAZE_CYAN // Color value of the MAZE numbers (RGB = Red, Green, Blue) --> 0, 255, 128 is CYAN = COL_MAZE_CYAN#define COL_MAZE_RUNNER COL_MAZE_RED // Color value of the MAZE numbers (RGB = Red, Green, Blue) --> 255, 0, 0 is RED = COL_MAZE_RED// Available colors as variable: // COL_MAZE_RED = Color RED// COL_MAZE_GREEN = Color GREEN// COL_MAZE_BLUE = Color BLUE// COL_MAZE_YELLOW = Color YELLOW// COL_MAZE_CYAN = Color CYAN// COL_MAZE_OFF = Set LEDs OFF// Some functions for testing:// ############################define USELEDTEST 0 // Show the RGB LED test on startup#define USELETTERTEST 0 // Show the digits letter and runner test on startup#define TIMEDATESERIAL 0 // Show current time and date in serial monitor//####################################################################################################################################################// LED matrix settings:// ####################define PIN D2 // D1 mini LED output pin#define NUMPIXELS 256 // Number of pixels on the LED matrixAdafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);//####################################################################################################################################################// Adjust time settings here only:// ###############################// NTP Servers:static const char ntpServerName[] = "us.pool.ntp.org";//static const char ntpServerName[] = "time.nist.gov";//static const char ntpServerName[] = "time-a.timefreq.bldrdoc.gov";//static const char ntpServerName[] = "time-b.timefreq.bldrdoc.gov";//static const char ntpServerName[] = "time-c.timefreq.bldrdoc.gov";const int timeZone = +2; // Central European Time//const int timeZone = -5; // Eastern Standard Time (USA)//const int timeZone = -4; // Eastern Daylight Time (USA)//const int timeZone = -8; // Pacific Standard Time (USA)//const int timeZone = -7; // Pacific Daylight Time (USA)//#################################################################################################################################################### Code:The code can be found in my GitHub repository. Printing instructions:0.3 draft profile used on the textured sheetSupports for the “Matrix Holder" part from the bed usedNo brim No special settings Assembly of the clock:During printing you will have enough time to wire the parts and upload the codeThe 159x159mm piece of paper should fit very well on the 160x160mm “matrix” partPlease make sure that the piece of paper lays really flat on the matrix part and does not bend because this will disturb the look. I used a little bit of glue stick to fix it on the matrix partPush the matrix part with the paper in front into the “front” part. Please be careful not to press on the paper on the front to prevent ugly dents in the paperOn the back of the matrix part with the little cutouts the 16x16 LED matrix is placed flatAfter that the 16x16 LED matrix is held in place with the “matrix holder” part. This part will click in place in the front with the little notchesFor wiring see the table in the text and have a look in the pictures please. I used the cables that came with the LED matrixSlide the D1 mini to its new home in the “matrix holder” part Plug the micro USB cable first through the “lid” part and then into the D1 miniSecure the USB cable in place with the cable tieTurn on the clock and check the orientation of the 16x16 pixel matrixDepending on the orientation of matrix click the “lid” part on the back of the “front” part and close the case. The wall hook should face to the top of the back ;)Press the 4 little “foot” parts in the back of the lid to gain some space to your wall to hang the clock straight with the USB cable coming out of the back tooSee pictures please First start of the clock:Plug the other side of the USB cable into the power supplyAfter a second you should see the LEDs come to workThe clock uses the ESP8266 "WiFi Manager" to be able to connect to your WiFi without saving your WiFi credentials in the code directlyAfter the clock logo was shown it will show “WIFI” in red color and waits for your inputOn your PC, tablet or smartphone please have a look into the WiFi list of your device and search and connect to the WiFi called "MAZE LED CLOCK". No password is required to connect to it. In case your device does not automatically open the browser with the WiFi Manager page please open your browser now and navigate to "http://192.168.4.1" to set the Wifi credentials.From there on the WiFi configuration should be straight forward.After saving the credentials the ESP will join your usual WiFi network and displays the time on the LEDs. Setup is finished then. The temporary Wifi "MAZE LED CLOCK" is removed.In case you entered your WiFi credentials not correctly the ESP will restart and open the temporary WiFi called "MAZE LED CLOCK" again to correct the values. You might need to navigate to the page "http://192.168.4.1" manually again.Enjoy :)Happy printing :)
With this file you will be able to print MAZE RUNNER inspired LED matrix clock (16x16) with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on MAZE RUNNER inspired LED matrix clock (16x16).