Rgb Pov

Andrew Cowan

Senior Member
I am hoping to build an RGB POV display - either 8 or 16 LEDs depending on how much I can manage. In case you don't know, POV (persistance of vision), relies on the human eye merging the images together, as LEDs spin around in a circle (see attached image).

The idea is to have the LED codes all stored in a separate eeprom chip.

The output pins lead to three (8 bit) latches, which then lead to the three colours of each RGB LED.


For my planning, I am assuming I have 8 LEDs.

Read the 'red' byte info from the eeprom into b1.
Read the 'blue' byte info from the eeprom into b2.
Read the 'green' byte info from the eeprom into b3.
Set the 8 output pins to the pattern in b1
Pulse the red latch
Set the 8 output pins to the pattern in b2
Pulse the blue latch
Set the 8 output pins to the pattern in b3
Pulse the green latch
Wait some time for the user to notice that column (pause 1 at 16Mhz?)
Turn off all outputs
Pulse all latches
Wait for the spinning LEDs to advance to the next column
Repeat

The faster this goes, the smoother it is. At a guess, I would say 15fps would be the slowest it should go (is this about right)?

15fps = 15rps= 900rpm = 66ms per rotation

At 130 degrees of viewable display and 85 columns (as in the attached photo), that makes 0.27ms per column. Have I done something wrong in calculations? If not, then I assume that this project is impossible - even a 16Mhz PICAXE can't run the above code that fast... can it?

Any input is much appriciated.

Andrew



When resticted to 130 degrees, 85 columns are used. Here, more are being used.
 
Last edited:

Mycroft2152

Senior Member
Why not just try it with one LED flashing, then add the software as if all row were being handled. This will give you a sense of the timing possible without building all the hardware.
 

moxhamj

New Member
POV really needs raw pic speed rathar than picaxe speed. You might have to learn a bit of machine code, though there are heaps of examples on the internet. But it could be quite useful to write the code in picaxe basic and get it running slowly, and then translate over to machine code.
 
Top