Twelve

Twelve is a sound installation created for the 2011 TWU Art Triangle Walk. The installation is composed of twelve 4ft x 2ft frames positioned around a square space, completely surrounding participants. Each frame contains a sheet of galvanized steel with a motor attached, a computer (Arduino), and a battery. A counterweight has been added to the motor so that makes the sheet of steel vibrate differently depending on its speed and duration of rotation. An additional computer (Arduino) located in one of the units is programmed to randomly, but artistically, choose sequences of events and control each unit wirelessly. The 12 deliberately resonated sheets of metal produce from calm, rain-like sounds ... to rhythmic grooves ... to intense, alarmingly loud noises.

hidden motor

view from front

I was able to get this cheap wireless RF transmitter receiver pair (from sparkfun) to work very well using VirtualWire.h library (pdf). It transmitted from one arduino to another up to about 300 feet (according to what it looked like on Google Maps).

 

The switches attached to the arduino have a 220ohm resister between one side of the switch and the digital pin (I used 9 and 10) and a wire between each digital pin and ground –  the other side of each switch to 5V.

 

Here is the code I adapted for the transmitter

Here is the code I adapted for the receiver

(from the VirtualWire.h library examples).

 

It is easy to get the arduinos to react differently depending on what you put in the end of the receiver code. For example, one receiver arduino could have the following code, which would light an LED on pin10 if switch1 were depressed:

 

        if (strcmp(inString, "N") == 0){

          digitalWrite(10, true);

        }

        if (strcmp(inString, "Y") == 0){

          digitalWrite(10, false);

        }

 

The other receiver arduino could have the following code, which would light an LED on pin10 if switch2 were depressed:

 

        if (strcmp(inString, "O") == 0){

          digitalWrite(10, true);

        }

        if (strcmp(inString, "Z") == 0){

          digitalWrite(10, false);

        }

The arduino with RF receiver.  I am showing three versions:

 - the commercial arduino

 - the breadboard arduino

 - my perfboard arduino

I changed the optoisolator circuit I used in my "light-box" project after doing some more datasheet research for this installation piece. I’m also posting a picture of a soldered finished product with two optoisolators (above right). This circuit powers a 12V motor with a 12V battery controlled from a 5V arduino board (separated by an optoisolator in order to make sure the 12V cannot reach the arduino). This circuit works great with PWM output of the arduino (very smooth and responsive).