I am trying to build a POV clock out of an old hard drive. If you have not see one of these things, tjhe way it works is there are several slots that contain LEDs (in my case 8 slots).
A disk with numbers carved into it rotates when the hard drive spins. The MCU senses a home sensor and lights the LED in the appropriate slot just at the right time to display the required number in that potion.
The math to calculate when to display a column of LEDs in a conventional LED clock is fairly easy.
To makes things simple let us assume that one rotation of the "clock" takes 360ms. Since there are 360 degrees in a circle each degree takes 1ms. So to display the column at 10 degrees a timer simply needs to be started for 10ms (some people just use a delay) to display the LEDs in that postion.
An overly simplified explanation but hopefully you get the idea.
I am trying to figure out how to make the POV timing work in my case. A drawing of the "slots" and the disk show below (they may not be in scale). The arrow on the slot drawing shows where the Hall sensor is located. The arrow on the disk is where the magnet is located.
The disk moves is a clockwise position. The center of the first slot is about 110 deg from the sensor.
What I am thinking is that I need to measure the location for the numbers in the opposite direction. So the number zero would be at about 345 degrees from the magnet
Getting back to our 1ms per degree example, I am thinking I would simply add 110 to 345 for a total of 445 ms to display 0 in the first position. So it would display on the next rotation. I think I would have to set the timer every other sensor interrupt.
Anyone see any flaws in this plan?


A disk with numbers carved into it rotates when the hard drive spins. The MCU senses a home sensor and lights the LED in the appropriate slot just at the right time to display the required number in that potion.
The math to calculate when to display a column of LEDs in a conventional LED clock is fairly easy.
To makes things simple let us assume that one rotation of the "clock" takes 360ms. Since there are 360 degrees in a circle each degree takes 1ms. So to display the column at 10 degrees a timer simply needs to be started for 10ms (some people just use a delay) to display the LEDs in that postion.
An overly simplified explanation but hopefully you get the idea.
I am trying to figure out how to make the POV timing work in my case. A drawing of the "slots" and the disk show below (they may not be in scale). The arrow on the slot drawing shows where the Hall sensor is located. The arrow on the disk is where the magnet is located.
The disk moves is a clockwise position. The center of the first slot is about 110 deg from the sensor.
What I am thinking is that I need to measure the location for the numbers in the opposite direction. So the number zero would be at about 345 degrees from the magnet
Getting back to our 1ms per degree example, I am thinking I would simply add 110 to 345 for a total of 445 ms to display 0 in the first position. So it would display on the next rotation. I think I would have to set the timer every other sensor interrupt.
Anyone see any flaws in this plan?

