I've been reading some tutorials various POV controlled by PIC's or other controllers. Some are really simple 8 LED devices you wave with your hand, others are 96 x ? displays that can display actual pictures. I've seen a few radial variants to create clocks also. Anyways, each one has its own method for controlling the LED's and I have a few questions about how this is done; lets get started.
I read a really good tutorial that takes eight 8x8 LED grids and drives the whole thing using only 10 pins. 8 ground the rows, and 2 switch a Johnson counter. The only problem with this tutorial is that it only explains the process for one 8x8 grid, even though it makes perfect sense on this level. How do you extend this to 7 more grids using the same pins?
My background in circuits is very poor as I am a chemical engineer and not an electrical engineer. From what I understand, a Johnson counter increments its output each time it is cycled (although I don't think it's quite that simple and I know there are a number of other types of counters; do johnson counters bring back down the previous output to 0 first?). Anyways, as I understand it, you ground the rows for the first column, the counter shifts, then you ground the rows for the second column, and so on, until you get to the end of the matrix where the counter is then reset (automatically or in the code?).
That makes sense. Each additional 8x8 matrix needs another johnson counter. Now my question is: how are these 8 individual counters controlled with only two pins? Can you have nested Johnson counters? That is, can you cycle one 'master' Johnson counter in such a way that it doesn't get shifted until the first 'slave' Johnson counter is reset? That way each column in the 8x8 matrices gets cycled, and then the 8 of the 8x8 matrices get cycled. That way it's as if each 8x8 matrix is a single LED and the 8 together make a single row whose columns are cycled through by the 'master' Johnson counter.
I hope that makes sense. I'm not sure if this is how it is down in practice though. Is it even possible? Is there a better way?
My plan was to have 64 0603 SMD LED's in a line on a hard drive platter and multiplex them along the radius by having 8 groups of 8 in a row, so it's just like the above example. In other words, I'll be multiplexing along the radius, 8 at a time, and then spinning the harddrive at 4,000 RPM for the other dimension. I basically want to make a polar plotter; it's going to be a gift for someone.
I read a really good tutorial that takes eight 8x8 LED grids and drives the whole thing using only 10 pins. 8 ground the rows, and 2 switch a Johnson counter. The only problem with this tutorial is that it only explains the process for one 8x8 grid, even though it makes perfect sense on this level. How do you extend this to 7 more grids using the same pins?
My background in circuits is very poor as I am a chemical engineer and not an electrical engineer. From what I understand, a Johnson counter increments its output each time it is cycled (although I don't think it's quite that simple and I know there are a number of other types of counters; do johnson counters bring back down the previous output to 0 first?). Anyways, as I understand it, you ground the rows for the first column, the counter shifts, then you ground the rows for the second column, and so on, until you get to the end of the matrix where the counter is then reset (automatically or in the code?).
That makes sense. Each additional 8x8 matrix needs another johnson counter. Now my question is: how are these 8 individual counters controlled with only two pins? Can you have nested Johnson counters? That is, can you cycle one 'master' Johnson counter in such a way that it doesn't get shifted until the first 'slave' Johnson counter is reset? That way each column in the 8x8 matrices gets cycled, and then the 8 of the 8x8 matrices get cycled. That way it's as if each 8x8 matrix is a single LED and the 8 together make a single row whose columns are cycled through by the 'master' Johnson counter.
I hope that makes sense. I'm not sure if this is how it is down in practice though. Is it even possible? Is there a better way?
My plan was to have 64 0603 SMD LED's in a line on a hard drive platter and multiplex them along the radius by having 8 groups of 8 in a row, so it's just like the above example. In other words, I'll be multiplexing along the radius, 8 at a time, and then spinning the harddrive at 4,000 RPM for the other dimension. I basically want to make a polar plotter; it's going to be a gift for someone.