This instructable is the second version of Arduino clock.
In this update many things including the structure, the motor
and the code has changed, but the method of displaying time has
not been changed. Each division for example between 1 and 2 there are further five divisions
representing ten minutes each. In this project I have used a DC GEARED MOTOR because
it is more accurate than a dc motor and does not have drifts. I have not used a stepper motor
because it makes a lot of noise. In this clock the needle is stationary and the main dial or
the barrel rotates.
I hope you enjoy the project

Step 1: Material Required

Technical part
- a dc geared motor 20RPM at 12v will be ideal
- Arduino UNO
- L239D
- breadboard
- few breadboard or jumper wires
- 5v voltage regulator.

Mechanical part
- thick paper
- card board
- small MDF piece 7*9 cm
- a small wooden cuboid 4*1*1 cm
- thin sheet of metal or cardboard for making the needle ( I have used a small piece of an old can)
- glue

Step 2: Making the Dial

-For making the dial first cut 2 circles from cardboard of radius 5.70 cm.
- make a hole in centre of one of the circles for motor attachment
-Next cut a strip of paper 7cm wide and 37cm in length.
- on the paper mark 12 divisions of 3cm and one of 1cm horizontaly
- further divide each division six division of 0.5 cm
-mark the digits as shown in the picture
- make 1cm thick line on both sides along the lenght of the paper.
- paste the two ends of the paper with the 1cm margin.
- cut slit 1cm deep along the length and fold inwards
- put some glue on the flaps and paste onto the circle.
- repeat the same for the upper side
Now you have a drum like structure this is the dial of the clock

Step 3: The Stand and Needle

For making the stand take the MDF piece and drill holes to fix your motor. Fix the motor with screws.
This is the main movement of the clock.
Now glue or tape the metal or cardboard needle to the wooden block as shown in the picture
Attach the wooden block to the base
Base is now ready.

Step 4: Connections

Connecting l293D to Arduino
- Pin 1 of l293D to enable (+ terminal of battery)
- pin 2 of l293D to pin 3 Arduino
- pin 3 of l 293D to pin motor
- pin 6 of l293D to pin motor
- pin 4,5,12,13of l293D to ground (- terminal of battery)
- pin 7 of l293D to pin 4 Arduino
- pin 8,9 of l293D to (+ terminal of battery)
- pin 16 of l293D to (+ terminal of battery)
Connect motors to 3 and 6 pin of the ic

Connecting battery to Arduino via 5v voltage regulator
Input to + terminal of battery
Ground to - terminal of battery
Output to 5v Arduino pin
It is adviced to use two seperate batteries powering Arduino and motor
but I have used a 12v adapter to supply power

Step 5: Coding the Arduino

int in1=3;

int in2=4;

void setup()





void loop()









<p>Very nice ! I hope this project continues to evolve because this would make a very unique clock.</p>
<p>yes it is a similar clock but it is an astronomical clock</p>
<p>yes it is a similar clock but it is an astronomical clock</p>
<p>thanks and this clock will continue to evolve </p>
really nice, especially the concept is really creative! vote well earned!
<p>Thankyou very much</p><p>and thankyou for voting</p>
<p>Thankyou very much</p><p>and thankyou for voting</p>
<p>Very nice project. Thank you for sharing.</p>
Hi pj200?,<br>Can you please explain your Arduino program? (why do you write 2x a LOW instruction to the same pin?) and maybe some details on the motor type ?<br>Very nice clock project !
<p>hi alexpikkert</p><p>I have used a geared 20rpm motor which driven a 2000 rpm motor and want do you want to know about the code I can't understand </p><p>And thanks for the appreciation</p>
Hi pj200?,<br>Thanks for the motor details, now I understand.<br>About the code:<br>I see you set int2 to LOW two times with only a delay of 2 msec in between, I think this is not neccessary, the second time could just be deleted or not ?<br>
<p>I mean this code, can you please try if it works?</p><p>int in1=3;</p><p>int in2=4;</p><p>void setup()</p><p>{</p><p>pinMode(in1,OUTPUT);</p><p>pinMode(in2,OUTPUT);</p><p>digitalWrite(in2,LOW);</p><p>}</p><p>void loop()</p><p>{</p><p>digitalWrite(in1,HIGH);</p><p>delay(2);</p><p>digitalWrite(in1,LOW);</p><p>delay(60000);</p><p>}</p>
<p>hi alexpikkert</p><p>I will diffinetly try this code and let you know</p><p>Thanks for the suggestion</p>
Cool! Can I see your motor? I do lots of clocks and would like to try this one
<p>hi make club</p><p>I have used a geared 20 RPM motor run by a 2000 RPM motor</p>
<p>Thanks everyone for going through my instructable </p>
<p>Brilliant idea!</p><p>Thanks for sharing</p>
<p>This is really neat! I've never seen such a unique clock. </p>
Nice idea. <br>It could use a little more finishing touches.

About This Instructable




More by pj200:Mario Question Block Tissue Box Light intensity meter without programming. The poles in holes puzzle 
Add instructable to: