Making the world a better place, one Evil Mad Scientist at a time.
Maintenance notice:
These forum archives are read-only, and will be removed shortly.
Please visit our forums at their new location, https://www.evilmadscientist.com/forums/.
Firstly, hardware design credit to EMSL! I had to swap out the transistors in the original schematic for substitutes (STX790A - which Windell mentioned as an alternative in some thread somewhere), and I used an ATmega644A microcontroller (thought I might need more RAM at some stage). Other than that the only differences are that I used different port\pin configuration. THANK YOU EMSL! AlsoI purchased the LEDs, micro and the LED driver from the EMSL store.
Secondly, firmware design credit to Jay Clegg! My AVR code is almost an exact copy of his, with the changes being in the ports and pins used and configuration of the matrix. If it wasn't for this code I would have gone on to write my own interrupt based refresh stuff, but his pretty much just worked out of the box! THANK YOU JAY CLEGG!(have emailed Jay a copy of this post).
The LED matrix is 48x16 (that's a count of 768) 10mm diffused white LEDs, using 1x MBI5026 16 channel LED driver, with 3x 4-to-16 demultiplexors. W.r.t. the original code, each of my vertical blinds is a "row" of 16 LEDs, hence the need for only 1 LED driver.
Currently have it working with Processing as done by Jay Clegg here, with modifications again for my matrix configuration. The processing script grabs frames from the draw loop and sends it along to the micro via USB-Serial cable.
My major work and my original contribution was in the cable connections. I had custom PCBs made to help daisy chain the vertical blinds (they're sitting on top of the horizontal beam from which the blinds hang). 300 ft spool of 16-way ribbon cable completely used up. Around ~4000 individual solder joints, and I'm still using breadboard to hold things together at the moment! Took me forever.
Next...
They grey-scale is working (not really shown in the video), but the 16 shades are not as nice looking as I hoped. Need to play around with frame rate and microcontroller timer and see if I can improve it!
I want to try hook up some live video (webcam or file) and see how that works out.
Looking into to writing something using openFrameworks to draw custom animations, think it might offer better frame rate than Processing? Haven't thought too much about this yet.
Need to get a nice custom PCB "motherboard" for the micro, driver IC, decoders and transistors.
Documentation. I want to share my modified code and schematics.
Comments