Arduino Uno R4 LED Matrix Clock
by ArduinoPrints3D in Circuits > Gadgets
189 Views, 2 Favorites, 0 Comments
Arduino Uno R4 LED Matrix Clock
I am a student and I designed this instructable. I hope you like it.😊
This is a project for a customisable LED clock based on the Arduino Uno R4. The 3d models are all designed in Autodesk Tinkercad.
Supplies
- Arduino Uno R4
- 32 x 8 MAX7219 LED Matrix
- Rotary Encoder
- DS1307 Module
- Mini Solderless Breadboard
- Jumper Wires
- 10k Ω resistor
- 100 uF electrolydic capacitor
- 0.1 uF ceramic Capacitor
Test the Compnents.
I first tested each component. I wired them together as shown in the image above. I added resistors to help smooth out current spikes from the dot matix. I also added a pull down resistor to the pin 8 of the arduino to help the pin from floating on startup which was making the max7219 flash.
I used modified example codes to test everything. The first is for the max7219 module and should display "Hello! LED Matrix test, 1 2 3 4..." The second is for the rotary encoder. It should serial print whenever the buton is pressed or released and whenever the encoder is turned left or right. The last is for the RTC module. It should display the date and time, the unix time, and calculate a date which is 7 days, 12 hours, 30 minutes, and 6 seconds into the future.
Since all modules were working I moved on to the next step.
Making the Clock Code
Next i wrote the clock's code. It normally shows the time, which it gets off of the RTC on MAX7219. When you press the encoder you are brought to a menu where you can set the hours or minutes. Next you have the choice to either set the time you just chose on the clock or exit without setting the time.
3D Modeling
Next I designed the 3d models with the help of my brother. We used Autodesk TinkerCAD which is probably the easiest and most enjoyable CAD software around. The models are based off of my Arduino Uno R4 LED Matrix project on NexPrint. We made it longer, taller, and added a mounting bracket for the rotary engoder. We also made a knob for the encoder and made the open portion of the base with thinner walls to accomidate the breadboard.
3D Printing
Next I 3d printed the files attached in the previous step. I used orca slicer. The base and diffuser both had som peeling on the edges so make sure the bed is clean and a brim is applied.
Put Everything in Place
The first step of assembly is to put everything in its place.
- I slid the Arduino into it slot in the base.
- I hot glued the breadboard into the base near the Arduino. I had to cut som plastic tabs off of the breadboard to make it fit.
- I hot glued the RTC into the corner of the base.
- I screwed the MAX7219 onto the diffuser with the bracket.
- I screwed the rotary encoder onto the diffuser with the bracket.
- I pressed the knob onto the encoder. The encoder needed a bit of tape stuck onto its shaft to make it a friction fit.
Wire It All Up
Follow the diagram above for instruction. I connected in these steps.
- I started by conecting the arduino to the breadboard's power rails.
- I added the capacitors.
- I connected all of the modules to the power rails.
- I connected the data lines for everything.
Screw the Lid On
Insert the Diffuser into the base. Screw the lid on to fasten everything inside.
Done!
You should now have a fully functional clock!
If you want to see the clock in action watch this video!