hey guys here is my little entry for the christmas challenge.
it was really a toss up between doing a little electronics project or using my glsl engine ive been coding all year. i could have taken the easy route and done a gfx demo but after doing hundreds of hours on the engine i needed a little break.
so here is what i came up with.
www.youtube.com/embed/t8W3jLAzXpkit was built around the same idea as the little demo i posted earlier in the summer but expanded too push the arduino too its limits. the whole electronics side is made up from 9 led driver chips daisy chained in groups of 3 with each driver chip connected too its own led matrix of which there are nine.
all chips share the same common vcc and ground power rail using a voltage regulator.
each group of max led drivers is connected too digital pins on the micro controller.
there are three wires too each driver chip a clock wire a dataio wire and finally load. and basically you poll these three lines sending data and quickly pulling the arduino pins low then high which in turn lights the required leds.
on the software side i had no idea if driving this from one small micro controller would be possible but i was pleasantly surprised. i started with a complete blank canvas just a few max register defines really.
first i build low level drivers which maps a 25,4 byte back buffer too the whole display treating it as one. my map function sends the back buffer as blocks too the correct max led driver chip. so from the front end you treat it like tinyptc with renderpoint(x,y) but the back end had too be coded very cleverly.this all had too be done as lightweight as possible too make effects possible.
i will when i get more time do a full postmortem and share a little further how the hardware goes together and exactly what components were used and how much.
the whole program takes up 18kilobytes of memory on the micro controller and the code is separated with large items being put in PROGMEM area of ram and the rest going into the normal area.
attached is source have fun guys.