| Main > Main Forum |
| Light Buttons with LED Hardware/Software - COMING SOON!!! |
| << < (15/16) > >> |
| Lilwolf:
Just because I always bring this up. Any consideration for hotswap control panels? If someone wanted to run the lines, would your board be able to support it? And.. How many people would really care about more then 40 LEDs? Would there be a chance for simplifying the wiring if the numbers went down? For instance... The LPT encoder (other thread) I was able to change the circuits around slightly so that groups of 12 buttons acted like they had a common ground. So for instance instead of 6x7 you could have 3x14 matrix... and have three groups of 14 where each group has their own 'ground'... That will probably be doable for most and will work well. Last... GOOD LUCK! I would love to see one of these going! |
| tetsujin:
--- Quote from: Trimoor on March 22, 2005, 06:44:19 pm ---The classic PIC16F48 has 13 I/O lines, giving you a 6 x 7 matrix. This can control up to 84 LEDs. Yes, 6x7=42, but remember that LEDs are diodes: if you reverse the polarity of the current, you can light a different LED. Bipolar LEDs do this. --- End quote --- I don't think that's true. I designed a LED matrix circuit not too long ago using a PIC using just an m*n matrix - I wanted to expand it to m*n*2 but the idea didn't seem to work. Consider input lines used to drive an M*N*2 matrix of LEDs. The "M" axis I'll call "x" and the "N" axis I'll call "y". There's a set of LEDs at the intersections of the matrix - A(x, y) is the LED with anode on "x" and cathode on "y", B(x, y) is the LED with anode on "y" and cathode on "x" (So A(x,y) and B(x,y) are two separate LEDs in the same place, with opposite polarity). Now, assuming the outputs of X and Y are typical two-state digital lines, how do we light only A(x,y) while leaving all other LEDs off? Basically, you set x high and y low. Now, since A(x, y+1) is not to be lit, (y+1) must be high. So how do you prevent B(x+1, y+1) from lighting? (x+1) would need to be high, to prevent current from flowing through that LED. But if (x+1) is high, and (y) is low, then A(x+1, y) will light up. |
| ErikRuud:
Something like this should work for driving LED's in a matrix. It does not have any provision for doubling up the LED's, but 256 led's should be enough. http://www.codemercs.com/Downloads/AN1.pdf |
| mccoy178:
Man I wish I understoood this stuff. I have so many neat ideas, just can't do anything with them! Frustrating. |
| Trimoor:
There's really no need for special chips. Use a pic and a multiplexer to drive everything. tetsujin, I don't quite understand your description, but if I remember correctly, PIC I/O lines actually have three states: high, low, and float. To light an LED, set one of it's pins to high, the other low, and everything else to float. Also, look into charlieplexing. It might be applicable here. |
| Navigation |
| Message Index |
| Next page |
| Previous page |