How do you feel after seeing the picture? Excited? Intrigued? Well, you'll be fascinated, I promise!
This project has two purpose:
- Decorate my desk
- Tell me the time
But.. tell me the time? What the heck?! How can those two tall towers tell me the time?
I let one of my siblings view the project and he was impressed by the appearance of the project but was clueless to the functionality. It was fun playing with his mind!
There are 12 LEDs in both towers each. Each LED on the left tower represents an hour while each LED on the right tower represents 5 minute. So for example, 9 LEDs light up on the left and 3 LEDs on the right means 9:15. How cool is that a way to tell the time?
Disclaimer : If you want to attempt this project, I highly recommend that you understand the basics of Arduino, RTC (Real Time Clock) Modules, Transistors, and have a basic knowledge of electronics. This isn't an easy project and it took me almost 3 weeks to construct it.
Step 1: Gather Up the Items!
You'll need the following items.
2x 20cm x 40cm Acrylic sheets
Black Spray paint
White Spray paint
12v 2A Power supply
Circuit board for prototyping
3x 40 pins Male Pin Header
75cm long ribbon cables
25x TIP32 Transistor
25x BC548 Transistor
Real Time Clock (RTC) Module
Step 2: Heat Form Your Acrylic Sheet
Now you need to fold your acrylic sheet 90 degree on two sides. Peel off the protective paper on your acrylic, draw two 6.6cm intervals lines along your 20cm acrylic sheets, then use a heat gun to soften those lines. It took me about 10 minutes before the acrylic became strong enough to be bent.
Step 3: Paint It!
You'll need black and white spray paint for this, you can use any other colour you want for the body of the acrylic but only use white spray paint for the lines where the LED will shine through.
Cut your masking tape ( make sure it is the same width as the LED pieces you will be using ) 5 cm in length, then tape it onto the inner corners of the acrylic. Space the height between each masking tape about 3.3cm for each.
Now cover the outer body entirely with paper then spray paint the inner wall with black paint, or whatever you prefer, add as many coats of paint as you can because you don't want the light to pass through the black spaces.
Once the paint is dry, remove the masking tape and spray a very light coat of white paint. As light as possible to give your led a diffused look!
The same is done for the other tower. Set them out at least an hour for the paint to dry.
Step 4: Cut the RGB Led Strip Into Individual Pieces
While waiting for the paint to dry you can start working on your electronics.
Grab your RGB Led strip and cut them along the copper joints. You'll need 24 RGB Led "pieces" so you need at least 1.2m of rgb led strip.
Step 5: Solder the Rgb Joints in PARALLEL
Now bust out your soldering iron and copper wire. Strip your wire then solder them onto the rgb joints of your Led piece. Make the wires about 5cm long. Don't make it too short or you'll not be able to stretch them out across the tower.
Do the same for the third and fourth piece until you got a chain of 12 leds joint together via their rgb joints. Then make another 12 led chain for the other tower.
Don't glue your led to the white lines of your tower yet!
Step 6: Solder Individual Wires to the 12v Joint
We don't need our LED to be different colour, but we do need to control them individually. Solder individual wires to the 12v joint of the RGB Led piece. Make sure the wire is able to stretch all the way to the bottom because that is where we will connect it to our TIP32.
The same applies for the right tower but instead of ending your work there, extend it with ribbon cables that have female pin header soldered onto it.
Step 7: Hot Glue/Super Glue Your LED Onto the Towers
I burnt myself couple times during this process -_-
Now, apply glue onto the white lines of your tower. Then, press your LED in place for about 20 seconds until the glue cures.
Do the same for the next 23 LED pieces.
Then, solder all the 12v wires onto a 12 pin female pin header, and the parallel rgb connection onto a 3 pin female pin header. So you have a total of 15 female pin headers sticking out of both tower. The right tower, however, has the wire extended with ribbon cables.
We will be implanting our arduino and circuit board onto the left tower.
Step 8: Construct Your Circuit
This is the tough part, this is when your skills and knowledge in electronics is extremely important.
You'll need your male pin headers and circuit board to construct this shield for your arduino mega, you'll need to use BC548 transistor to control the TIP32 transistor to control the individual LEDS.
The male pin header underneath must be soldered correctly to the circuit board so that it plugs into your arduino female pin header without issue.
The male pin header above is for connecting your tower's LEDs to your transistors.
The circuit is available above. Please follow it extremely carefully.
You'll also need to solder a RTC module onto the circuit board for our clock timing function.
Once you're done, plug your shield onto your arduino mega.
Step 9: Test and Troubleshoot
Nothing works at the first time, if it does Santa Claus will exist. Plug your two towers onto the male pin header of your shield and at your coding, turn on all the LEDs, which means make all output pin go LOW and the 3 PWM pins that control the colour to HIGH.
If some of them doesn't work, check connections, check circuitboard joints, and so on.
Step 10: Mount Your Arduino and Circuit Board Onto the Left Tower
In the video, you can see that I drill a couple holes onto a small piece of acrylic and screwed my Arduino Mega in. After making sure that all the led are connected, works perfectly and can be controlled individually, I glue them onto my left tower.
Step 11: Coding
Now I don't think my code will work for yours because of the different Output pin we use to control our arduino mega but here it is. Try altering the code on the output pin side to make it work for yours. You can download the code here.
Take note 1 : I've added a function in the code which will reduce the brightness to minimum during the night to prevent light pollution in my room. Do not be alarmed if your tower is very dim between 10pm to 8am! Use the second code if you don't want that function.
Take note 2 : If this is your first time using RTC module, you will have to configure the time. Search for the following line : //rtc.adjust(DateTime(2017, 8, 2,15, 56, 20)); Go ahead and remove the double slash at the front and adjust your time accordingly (year,month,day,hour,minute,second). When you upload, your rtc will be configured to that time at the moment the code is uploaded. Replace the double slash and then reupload the code to prevent the RTC from resetting back to the previous time.
Step 12: Plug in Your Power Supply and Ta-Dah!!!
Once you're done, go ahead and plug your 12v power supply to the arduino mega dc jack and there you go. You've just build your own clock tower that will decorate your table, and tell you the time in a unique way.
I hope you enjoy this tutorial. This is no easy task from me. I have to do everything, from programming, to heat forming. From video editing to coding. It was an extremely huge challenge for me.
Check out my youtube channel, 5Volts. Please subscribe, I'll upload some more projects you'll love! Have a nice day, bye!