Clock is one of the most essential house hold things. There are various types of clocks like good old Pendulum clocks, Analog clocks and the now trending modern Digital clocks.
Digital clocks has many advantages over the analog clocks like the Accuracy in time, easy reading of time when compared to analog, visibility even in darkness and so on...
Here a basic Digital Wall clock is presented which is built using simple Atmega-8 microcontroller and DS-1307 RTC which is a time keeper which keeps the time even when there is a power failure.
I have made a new version of this project and designed a PCB as well. All the design files are available here on my github page.
The new board does not use any shift registers hence reducing the size of the project.
Step 1: Tools and Materials Required.
The components required for the Clock.
- Perfboard (about 13CmX10Cm)
- 7 Segment display [choose as per the requirement, here 2.3" display is used]-4
- SN74LS595-8-Bit Shift Registers -4
- Atmega-8 Microcontroller-1
- 16 MHz crystal and 22Pf Capacitor(2)
- 7805 voltage regulator
- 5v power supply(use any mobile charger if available)
- DS-1307 RTC either IC or module
- 220 ohm resistors-28
- 1k, 10k ohm resistor-2
- 28, 14, 8 pin IC bases
- DC jacks, Male and Female headers and some wire
- Arduino uno for testing and uploading the firmware
If RTC module not available:
DS-1307 RTC IC, 32.768MHz Crystal, CR2032 3V Coin cell and Holder, 10K ohm resistors, small Perfboard
- Soldering Gun
- Hot Glue Gun (Optional)
- Bread Board for testing the circuit
- Wire stripper
Step 2: Testing!!
Before going to actual soldering process make sure all the components works according to the plan. The simple way to do that is to test it on a Breadboard.
Make all the connections necessary on the bread board and make any changes required in the circuit like brightness of the displays and any updates that should be made to the RTC and so on...
The shift registers are connected in daisy chain array of four which is as shown in the circuit diagram.
The connections of the shift registers are based on information provided in Paul's electronics web.
For more information on this please visit this link:)
Step 3: Soldering the Components on Perfboard!!
After the testing is completed and when everything is working fine its time to make the circuit permanent by implementing it on the perfboard or design your PCB layout using various design tools like Eagle and get it fabricated.
The first step in soldering the components is to place them carefully on the perfboard so as to make the connections among the various components easy. Arrange the various components as required and start soldering as per the circuit diagram.
Always use IC bases instead of actual IC's for soldering on the perfboard. It reduces the risk of burning the IC while soldering and also provides an option to change of an IC in case of damage to it in future.
Use female headers for the 7 Segment displays instead of soldering it directly as you may need to change it in future in case if u don't like the color of it, or if it gets damaged.
Solder the circuit for the microcontroller and RTC(if module is not available) following the above steps.
Make sure you have loaded the program before placing the Atmega-8 IC in its base.
Step 4: Upload the Code Using Arduino Uno
The codes are based on the information provided by http://www.lucidtronix.com
Now all the codes and design files are available on Github.
Step 5: Choose a Suitable Enclosure for the Clock.
After the soldering is complete the clock has to be enclosed in a suitable enclosure.
Search for a container or similar box in your collection or junk whose size is just right to hold the circuit.
Make small openings for the 7 Segment displays and a small hole on top of it for the power supply wire which can also be used as a wall hanger.
Updating the time:
The time needs to be updated atleast once in 3 months as the RTC module is not so accurate.
If you are ready to spend a few extra bucks go for more accurate DS-3231 RTC module.
Once you have done it, feel happy every time someone checks the time in the clock:)
I'm open to any questions, suggestions and corrections :) so please feel free to comment below.
Thank you for reading this instructable !!!