Hi Atte, I haven't done anything like this for decades! I've not had my coffee yet but I'll try to offer some insight.
As I remember, you need to know 2 things primarily:
The rpm of the motor driving your clock, this is fixed right at the beginning and doesn't need to change.
You also need to know where 360/ 0 degrees is so that you can end and begin your LED pattern cycle.
You can use your little slot opto to detect the 360/ 0 degrees. At each transition through 360/ 0 degrees, you end one cycle of LED pattern and begin outputting it again, updated obviously to reflect any changes. In the case of a clock, the pattern is going to change with each second or minute or hour etc. For that matter, you can display just about anything else your mind can create, running text, geometric patterns etc. You can even get fancy and use RGB LED's for multiple colour displays, dimming/ fading effects etc, really the sky is the limit
Timing is obviously critical for POV to be effective, so you need to know where the LED's are in degrees relative to where you are in your code timing wise.
So take your motor rpm and divide that by 60, calculate to find the time taken for one revolution of the motor spindle, then calculate how long it takes for 1 degree of movement, so divide your answer by 360. You'll then need to correlate that answer with your chip's clock/ instruction execution time to figure out how many instruction cycles relate to each degree of motor movement and write your timing and LED pattern code appropriately.
I'll try and work a quick example of what I'm going on about:
Let's say we have our motor running at a steady 3000 rotations per minute and we are using a PIC micro running with a 20Mhz clock
We need to know how many rotations per second:
3000/60 = 50 rotations per second
We now need to figure out how long 1 complete rotation takes:
1/50 = 0.02 secs
We now need to calculate how long 1 degree of motor movement takes:
0.02/360 = 0.00005555555 secs
We now need to know how many instructions can be processed for each degree of movement so we can update our LED patterns etc:
PIC running at 20Mhz / 4 for pipelining (Fosc/4) = 5Mhz
1 degree of motor movement/instruction execution time:
55.55555/5000000 = 111.1111 instructions per 1 degree of motor movement.
So using a PIC with a 20Mhz Fosc, you can squeeze in 111 instructions for each degree of motor movement. Plenty of time to update LED patterns and do other housekeeping stuff etc.
As for using an Arduino, I have very little experience with the platform, so can't really help you with that, but with timing being so critical, I would think you would be better off using a bare chip and writing tight code to begin with, especially if you plan on doing other fancy stuff with colour etc.
I hope some of that helps