January 28, 2010

Long time Hacked Gadgets reader NatureTM has just completed phase 1 of his Hard Drive Clock. It’s using an Arduino to keep track of time and control the clock display LEDs. After accidentally letting out the magic smoke from the hard drive controller he decided to improvise and use a hobby RC motor speed controller. This clock will be super accurate when it is complete since it will eventually be using a Chronodot from Macetech.

“The first interrupt just records the time that the slot reaches the sensor and sets the position to zero. [It actually sets the position to the offset value since the sensor isn’t at 12 o’clock and I like to think of 12 as pos 0.] Now I can tell how long a rotation takes and how long it has been since the last completed rotation.

I have the rotation split into 180 divisions. I guess I’ll call them roxels (rotational pixels) since making up jargon is fun. I’ll call one full rotation of the platter a cycle. Then we know to draw the next roxel every cycle length/180. I then set arduino’s timer2 interrupt to overflow every new roxel and advance the roxel counter. I found this to be very efficient compared to other methods I tried. Actually, I was really proud when I figured this out, but I’ve been dying to know if everyone else is using this method as well. “

I am using timer1 only to do all the good stuff. User the output compare interior of timer 1 and change the register after each divisions to draw. this allows you to save timer 2. and o for pmw on your leds. Nice work by the way.