My goal for this project was to circuit bend a CD player to be controlled by a sensor/micro-contoller. I found the hardest thing about this was to “zero out” the CD’s built-in functions so that I had complete control over its starting and stopping. This involved coding in some measures to make sure it stopped before the CD was told to play, so that it wouldn’t pause instead. This took some time to fully figure out, and I think there is a lot of undiscovered potential for this system that I hope to implement in some upcoming pieces.
While I’m pleased to have achieved my main goal of the CD player circuit bend, I wish I had more time to develop the content (audio) to better utilize the technical developments.
int cd1stop = 2;
int cd1play = 3;
int cd1forward = 4;
int sensorPin = 0;
int val = 0; // variable to store the value coming from the sensor
pinMode(sensorPin, INPUT); // }
val = analogRead(sensorPin); // read the value from the sensor
if (val < 850) // zero out CD player (automatically plays) and stop it
else // play
An old beauty parlor chair acts as a time machine – when sat in, the chair provides the participant with various layers of audio and physical interactions that together create a disjointed narrative. The audio layers include background sounds and overheard conversations, as well as comments, or complements, to the participant – “My, what healthy hair you have! What do you use?” A truck goes by, a hairdryer comes on, and the chair vibrates slightly. “Excuse me ma’am, are you reading that magazine?” – a solenoid taps the armrest.
ARTIST LECTURE, ROBERT LANG
“From Flapping Birds to Space Telescopes: The Modern Science of Origami”
Reception immediately following the lecture in Rangos 3
I thought I would touch in, though I’ve yet to complete a working automata. After failing with my attempts to manifest one in cardboard I turned to more stable and familiar materials. I also figured out something that I wanted to automate, a problem previously.
This is a school desk with a mechanized hand that pats you on the back. Still working on the motor/cam.
I would like to have an audio element, probably using a little digital audio device I’ve used for some other circuit bending (pulled from a digital audio memo refrigerator magnet) which would say something encouraging, yet indicative of failure, like, “At least you tried.”
I am also working on an automatic rosary counter, with help from Ian Ingram, using the CMU developed Qwerk Microcontroller, which has text-to-speech capabilities. It will (hopefully) count and deliver the appropriate prayer per bead.
Both of these fit within a series I think of as Appliances for the Neurotic.
If you’re wondering how to tack on a sensor/switch to your existing automata, you may consider a Hall-effect sensor. It detects magnetic force, so if you put a magnet on your crank or some other moving part, and place the sensor within its path, you can trigger some other action. If your piece is moderately robust you could employ the more available roller type switch, but not necessarily for the same things (for instance without modification, the roller switch could only handle one-way circular motion).
Fellow MFA student Greg Witt made an oil rig automata kit for the students in my Physical Computing class last semester. He used plywood, the laser cutter, some hardware, a servo, and a microcontroller (Basic Stamp). I’ll bring it to class tomorrow but didn’t have the time to dig up the code, so here’s a video I made last semester of it running.
There’s an article and long video on the V&A site (where it’s actually housed, not the British Science Museum as I falsely stated).
“The Writer” is another great 18th century automata. Here’s a video, in French, and another how-it-works video, also in French, but pretty self-explanatory.
My four state project, IntroFlirt, uses a photoresistor and a piezo as its sensor and responder. Its four states are: sleep, attract (once it senses change in light, but then feels abandoned, it will beep for attention), reward (the piezo tonally reciprocates your hand blocking light from the photoresistor, a sort of theremin), and alarm (it freaks out and squeals if you get too close). There’s not a lot of transition between the states, but it’s been slow going for me.
Here’s video of me playing IntroFlirt: its “attract” and “alarm” states, as well as my attempting to play, “Daisy Bell”, a little 2001: A Space Odyssey reference, in light of last week’s discussion:
int piezo = 9; // piezo on PWM pin
int sensor = 5;// photsensor on analog pin
int duration = 16000; //for playTone loop
int sensorVal = 0;
int timer = 0;
int sleeptimer = 0;
int i = 0;
void setup ()
void loop ()
//Attract (if INTROFLIRT has been waken, but then abandoned, it will beep for attention)
if (sensorVal<200 && timer<2000)//sets up timer for attraction beep
else if (sensorVal<200 && timer>1999)//triggers attraction beep
for (i = 0; i < 15; i ++) playTone (2000);//sets length of attract beep
sleeptimer++;//counts how many times it tries to attract before giving up and sleeping
//Sleep (INTROFLIRT gives up beeping if abandoned for some time and sleeps)
while(sensorVal+20>analogRead(sensor) && analogRead(sensor)>sensorVal-20);
//Reward (INTROFLIRT reciprocate hand motions with sound equivalent)
else if (sensorVal>200 && sensorVal<850)
//Alarm (INTROFLIRT freaks out if you smother it and squeals)
else if (sensorVal>850)
// PLAY TONE from http://www.arduino.cc/en/Tutorial/PlayMelody
// uses input from photoresistor to output piezo tone, like a photosensor Theremin
void playTone(int tone)
long elapsed_time = 0;
while (elapsed_time < duration)
delayMicroseconds(tone / 2);
delayMicroseconds(tone / 2);
elapsed_time += (tone); // Keep track of how long we pulsed
If you were pumped after watching the Ganson video and are interested in more than blinks or getting more from a motor than circular action, here’s a link for basic cams, levers, gears, etc. It’s a quaint automata site, but informative. Flying Pig is also great. All of these could be coupled with triggers, cranks, or a motor and connected to Arduino, sensors, etc.
I’m interested in providing easily understood cues for interaction, like a crank, but then subverting the expectations of that interaction, something I explored in some older work, like this piece, which uses a crank to drive gears, switches, and contacts. It was just light circuit bending of some digital audio recorders, but the speakers used rotary contacts (similar to trolleys pulling power from lines) which was way too complicated, and barely worked. In hindsight I wished I had used a geneva drive, but I wasn’t aware of it at the time. Anyway, I just thought I’d share some fodder for those interested in exploring ways to get more physical phenomenon.
Also some other online discount electronics resources, are All Electronics and Electronic Goldmine. I’m also a fan of American Science and Surplus, but it’s totally hit or miss, both in stock and product quality/type. Their product descriptions are entertaining, though.
Arthur Ganson is an artist that intrigues my mechanical (versus electrical) mind. He mostly creates Rube Goldberg machines (which I’m a sucker for) with poetic and sublime results.
Also Ken Rinaldo, a huge name in robotic art and director of the Art and Technology Dept. at Ohio State, is teaching a class here, is presenting his work at the ROSSUMS meeting this Friday, and giving a lecture in a bit (Nov 13th). If you’re interested in ROSSUMS, a robotic art club, email me and I can send you info.