Wednesday, April 01, 2009
I've been experimenting with some dual-monitor VGA hacking and synchronisation visuals. The results have been very promising, and will be useful for future chip gigs.
So, what's going on here?
The horizontal and vertical sync signals are coming from a laptop. Then instead of the RGB signals coming through from the laptop, these lines are controlled by a microcontroller that simply does an analog to digital conversion of an audio signal and sets the RGB lines to bits 4, 5 and 6 of the 10 bit analog to digital integer.
This process is then repeated without delay. Thus, the RGB lines are being continuously twiddled in response to a changing analog signal on the input of the microcontroller (in this case an Arduino, but it could be a Picaxe or anything else, or even just a standalone ADC IC).
As a result, louder sounds will tend to generate more colours while lower frequency sounds will tend to generate taller bars on the screen. So that's the basic idea. The second monitor has the same information going to it as the first but the RGB bits are routed differently, hence they are in sync with each other but with different colours.