November 13, 2004

Mama's got a freeze box

Code for the freeze box can be found at www.bolas.com/usc/freezebox1.htm. Basic description is on the extended entry here.

this code works with the usb type basic stamp that is attached

' to the foamcore board with hacked remote for the ZML projectors

'

' basically, keys on the keyboard of the controlling computer send

' serial data to the stamp which will have the stamp execute a number

' of different effects.

'

' Basic Theory of Operation:

' the stamp used all 16 I/O pins as output.

'

' STEP ONE: The last two pins (14 AND 15)

' are wired to control a cmos switch on the stamp's protoboard which effectively

' 'push' the freeze button and the rgb1 button. The freeze button being used

' to freeze a frame of video into a projector, and the rgb1 button being used to

' set the video input to the projector to the RGB1 port - which also has the effect

' of undoing the freeze function. (note, if video sync is ever lost by any projector,

' even if the frame is frozen, the frozen frame is lost.

'

' STEP TWO: The first 14 pins (0 through 13)

' are wired to enable the output of the remote control to go to each of the 14

' projectors. They are wired as you would expect with pin 0 going to projector one

' which is the one closest to the zml entry door and pin 13 going to projector 14

' which is the one closest to the accessable door that leads into the game lab.

'

' So basically you need to 'enable' or 'open the channel' to the desired projectors by

' turning their respective pin high, and then you need to 'push the freeze button'.

'

' It is pretty simple, most of the code below was a late night hack to make some

'effects that I thought would go well with my presentation. In particular this code

' maps the 12345tgbvcxz keys to spatially correspond with the projectors in ZML. 1 is

' projector 1 and then it 'loops around' until the z key is projector 14. The code

' starts by resetting all the projectors, and then freezes them all except for the two center

' projectors. Then, if you hit one of the aformentioned keys, the video replicates itself

' moving from the center screen over to the left or right to the chosen screen. If you

' hit shift-key, then that screen has it's freeze button pushed once - so you need to do

' shift-key twice if you want to 're-freeze' the video. Finally, if you hit the 'a' key, the

' video loops around the room being frozen as it goes, except for the two center

' projectors. If you try to figure out why I coded it the way I did, and think that

' logic, simplicity, or elegance was involved, you will be thwarted in your attempts.

'

' I would recommned that you ignore all of my code and just try writing out to the ports

' as described here. The pause times below might be useful.

'

' mbolas november 2004

'

'

Posted by mbolas at 12:18 PM | Comments (2)