Introduction: All in One Digital Chronometer ( Clock, Timer, Alarm , Temperature)
We were planning to make a Timer for some another competition, but later we also implemented a clock (without RTC). As we got into the programming, we got interested in applying more functionalities to the device and ended up adding DS3231 RTC, as well as increasing the interactivity by increasing the amount of push buttons to two by the end of the project.
Features of clock
- Real time clock
- Display room temperature
- Adjust time by user
- Adjust Timer by user
- Adjust days of alarm
Step 1: What You Need
- Electronics Component
- 1 no. Arduino Mega2560 with cable - $ 9.79
- 1 no. DS3231 RTC - $ 1.09
- 100 nos. Red 3528 SMD LED - $ 0.77
- 2 nos. 1x40 Single Row Male 2.54 Pin Header - $ 0.58 *
- 1 nos. 1x40 Single Row Female 2.54 Pin Header - $ 1.0 *
- 2 nos. 6*6*13mm Long Handle Push Button Switch - $ 0.10 *
- 2 nos. 10k 1/4 watt through out hole resistor - $ 0.04 *
- 1 nos. 8ohm speaker - $ 1.0
- 1 meter 1.27mm PITCH Color Flat Ribbon Cable 10 color - $ 1.04
- 1 nos. LM386 *
- 1 nos. 10Kohm potentiometer *
- 1 nos. 10 ohm resistor *
- 2 nos. 10uF capacitor *
- 1 nos. 250 uF capacitor *
- 1 nos. 0.1uF capacitor *
- 1 nos. general purpose PCB *
- 2mm MDF sheet
- 240mm x 60 mm 2 nos. for front and back
- 240mm x 70 mm 3 nos. for top, support plate for LED and bottom
- 60mm x 65mm 2 nos. for left and right side of case
- 2mm acrylic sheet
- 130mm x 80mm 14 nos. for digit
- Glue gun
- Super glue for MDF
- Computer having Arduino IDE
- Soldering station
- Hit shrink
* All item prefer to purchase locally.
Step 2: Laser Cut Acrylic and Mdf Body
- DXF files for case of clock and acrylic digital plate.
- As shown in the schematic diagram of top plate and LED support plate , both plates are stuck together as a groove of led slot and top plate in opposite direction.The result is shown in 2nd image as a schematic diagram.
Step 3: Stick and Solder the LED Under Top Plate
- Red LED works on maximum 2.6V and controller digital pin gives 5V and 0V. So we have to stick the red LED in series of 2 and connect with respective digital pin of controller. So maximum voltage of series of 2 LED is 5.2 and red LED do not burn out by controller 5V.
- As shown in images stick every red LED accordingly in their respective slot. After soldering anode and cathode of adjusent LEDs, connect them in series.
- Take single wire and remove rubber insulation according to length of row of led and solder all series LED's cathode to common wire as shown in 3nd image for common ground of all LED.
- Take 1.27mm PITCH Color Flat Ribbon Cable and cut it by approximate distance between row of led and controller. Remove insulation both side for soldering.
- Solder each wire in hierarchy of ribbon color to anoode of series of LED as shown in third image.
- Do not solder another end of wire right now, it will be soldered at time of arranging all wire for controller.
- Similarly stick all red LEDs and solder wire respectively. Solder all LED cathode and take single wire for whole LED as ground.
Step 4: Schematic Diagrma Based on Arduino Mega2560 RTC and Amplifier
- Before soldering, each wire insert heat shrink in each wire to avoid short circuit.
- Solder 4 female header pin on one side and 4 male header pin on another side 4 wired cable. Connect the wires according the schematic with DS3231(RTC).
- Place all components related to amplifier on general purpose PCB and solder it according to the schematic diagram of amplifier based on LM386 IC.
- Take two push buttons and solder resistor and Vcc connection according to the schematic diagam and stick it on front plate using hot glue gun from inside.
- Connect left push button input to digital pin no. 3 and right push button to pin no. 2.
- If user wants to place SDA and SCL connection in 20 and 21 no. pins, then it won't make a difference.
- Attach digital pin no. 7 to ground and pin no. 6 into input of amplifier.
- After completing all the soldering work shrink the heat shrink tube.
Step 5: Set All Acrylic Number Plate.
Place acrylic number plate, starting with 0 on front to 9 on last slot of all row.
Place colon plate on colon slot.
Step 6: Connect Anode Pin of All LEDs to the Controller.
Solder all cathode wire to male header pin according to digital pin configuration as shown below.
- Connect all LED as shown in image.
Arduino pins ==> clock digit
D10 ==> 0 Unit digit
D11 ==> 1 Unit digit
D12 ==> 2 Unit digit
D13 ==> 3 Unit digit
D14 ==> 4 Unit digit
D15 ==> 5 Unit digit
D16 ==> 6 Unit digit
D17 ==> 7 Unit digit
D18 ==> 8 Unit digit
D19 ==> 9 Unit digit
D5 ==> 0 Decimal digit
D6 ==> 1 Decimal digit
D22 ==> 2 Decimal digit
D23 ==> 3 Decimal digit
D24 ==> 4 Decimal digit
D25 ==> 5 Decimal digit
D26 ==> 6 Decimal digit
D27 ==> 7 Decimal digit
D28 ==> 8 Decimal digit
D29 ==> 9 Decimal digit
D30 ==> 0 Hundred digit
D31 ==> 1 Hundred digit
D32 ==> 2 Hundred digit
D33 ==> 3 Hundred digit
D34 ==> 4 Hundred digit
D35 ==> 5 Hundred digit
D36 ==> 6 Hundred digit
D37 ==> 7 Hundred digit
D38 ==> 8 Hundred digit
D39 ==> 9 Hundred digit
D40 ==> 0 Thousand digit
D41 ==> 1 Thousand digit
D42 ==> 2 Thousand digit
D43 ==> 3 Thousand digit
D44 ==> 4 Thousand digit
D45 ==> 5 Thousand digit
D46 ==> 6 Thousand digit
D47 ==> 7 Thousand digit
D48 ==> 8 Thousand digit
D49 ==> 9 Thousand digit
D53 ==> colon ( : )
All LED common ground connect to Ground pin.
Step 7: Check Connection Using Sample Code.
- Open Arduino IDE and open sample check code given below.
- Upload in Arduino Mega2560.
- After done uploading it will start blinking from unit digit of minute 0 to 1,2,3 up to 9th of decimal digit of hour of time with in 0.5 second delay.
- In between, If any LED does not glow then check connection of LEDs and controller.
Step 8: How to Upload Code in Controller First Time
- Download code given below.
- Open Arduino IDE and open code in it.
- See the video as above and follow the instructions.
Step 9: How to Set Different Modes in This Clock
Step 10: Future Plans
- Add ches
- Increase one push button to make it more user friendly.
- Making it switchable between 12 hour and 24 hour mode using push button.
- Making it more interactive with voice indication of current time with good morning, evening etc..
- Adding a feature of controlling this clock with mobile application.
Your Comments/Suggestions/Questions/Critics are appreciated...
Thanks for Reading and watching this clock.
Participated in the