ambient_light
Technical Notes
![]() |
![]() |
Annie Spinster - programming and installation |
Carl Collins - electronics |
Programming
ambient_light is programmed using Processing and Wiring software. These programs are Java based and open-source. The advantage of using open-source software – except for it being free – is that there is a very active and helpful online community to offer advice and feedback.
ambient_light relies on object-orient(at)ed programming – each species is a different class of object and each creature on screen is an instance of one of these classes.
Please refer to the full annotated sourcecode (.txt) for further details.
Some early processing sketches for ambient_light can be seen here.
Electronics
![]() |
Inside the Wiring and Switching boxes |
The Switching Box
|
On the outside, the Swiching box is a sleek black beastie with six blue LEDs on top. The blue lights are there partly for diagnostic purposes and partly because everybody knows that sticking blue lights on something makes it work better. In this image, the Switching box is connected to a breadboard with portable cables. This arrangement was useful for coding as I did not have to find volunteers to keep changing seats |
|
On the inside, this tangled mass of wires is actually six separate circuits - one for each pressure pad. Note the six coloured wires going from the large connector block to the white cable. This cable attaches the Switching box to the Wiring box. |
| Click this thumbnail for a .dwf file of the switching box circuitry |
The Wiring Box
![]() |
The Wiring board is fitted inside an aluminium box. The white cable on the right houses the six wires which run to the Switching block. The other cable is the USB connecting the Wiring board to the laptop. |
|
Inside the Wiring box: We used pin connectors salvaged from inside an old PC to connect the wires to the individual pins on the wiring board. Each circuit is connected to a different digital I/O pin. The USB port can just be seen in the top-right corner, and the reset button on the board can be seen in the lower left corner |
![]() |
Click this thumbnail for a .dwf file of the circuitry for the entire installation |
Installation:
Each seat is made from two Sunblest bread crates which, as well as being cheap and easy to transport, are ideal for attaching electronic components and also provide interior space for keeping cables tidy. The pressure pads sit directly on top of the breadcrates so that the grid pattern on the crates provides enough localised pressure to trigger the switch in the pressure mat. On top of the pressure pad there is a layer of thick cardboard, a foam seating pad and a loose cover made from calico.
The seats are arranged around a large coffee table, which provides a surface for drinks and for literature about the project.
In one corner there is another smaller table bearing a laptop which is running the Processing code, the Wiring box and the Switching box. Signals from the pressure mats on the seats go through the Switching box, then the Wiring box, then the laptop.
Output from the Processing code is sent to a large widescreen TV – in this case, a 50”Pioneer PDP-502MXE Plasma Display Monitor – positioned at one end of the installation.
![]() |
Click this thumbnail for a .dwf diagram of the installation layout |