Project 5 - Prototype (Inputs/Output)
So, inspiration for this project was found via YouTube. I posted the URL in the previous post, but here’s a link just in case http://www.youtube.com/watch?v=h5n0rw8wo14&feature=player_embedded.
I still love the idea of this table, and when I’m not a broke college student (or maybe for my final project), I plan on finding the funds to supply me with what I’ll need to create a table with several “pixels” as the creator of that video explains. This way different areas of the table will light up depending upon which area has motion. For now, I will be working with the use of one IR detector which will aid in the process of illuminating the entire LED array in my table.
I started out with Parrallax PIR from Radioshack. As it turns out, PIR means Passive Infrared, not Proximity Infrared (which is what I assumed). PIR Sensors can be useful, however, to achieve the type of effect I’m aiming for, they are not the best choice. You see, PIRs create digital (1’s and 0’s) feedback. This means there are only 2 variances of input I can work with— either motion is present, or motion is not. Since I want the LEDs to fade based on the proximity of the motion, I need something that can work a little differently. I even tried to mod some of the sketches for Arduino by connecting the output of the sensor to an analog slot on the board which resulted in more than 2 outputs, but I couldn’t manipulate the results to create the fading effect I needed.
Lady Ada has an excellent and thorough tutorial on PIR sensors (I believe the one she references is the same one I purchased).
http://www.ladyada.net/learn/sensors/pir.html
Here is a clip of the PIR sensor working working as a motion detector:
After the realization that this sensor would not be the best for me to use, I opted to use a simple IR Led, and IR detector similar to these:

This setup relied heavily on code to do the work. I based the code off of the Arduion Calibration sketch. I modified the mapping of the sensor values (will note in code) to allow the LEDs to be in an off state until motion was detected by the IR detector. The first run using the unmodified Arduino calibration sketch looked like this:
The
Like I mentioned earlier, the code I used to create the results above was taken directly from an example Arduino sketch:
/* Calibration Demonstrates one techinque for calibrating sensor input. The sensor readings during the first five seconds of the sketch execution define the minimum and maximum of expected values attached to the sensor pin. The sensor minumum and maximum initial values may seem backwards. Initially, you set the minimum high and listen for anything lower, saving it as the new minumum. Likewise, you set the maximum low and listen for anything higher as the new maximum. The circuit: * Analog sensor (potentiometer will do) attached to analog input 0 * LED attached from digital pin 9 to ground created 29 Oct 2008 By David A Mellis Modified 17 Jun 2009 By Tom Igoe http://arduino.cc/en/Tutorial/Calibration */ // These constants won't change: const int sensorPin = 2; // pin that the sensor is attached to const int ledPin = 9; // pin that the LED is attached to // variables: int sensorValue = 0; // the sensor value int sensorMin = 1023; // minimum sensor value int sensorMax = 0; // maximum sensor value void setup() { // turn on LED to signal the start of the calibration period: pinMode(13, OUTPUT); digitalWrite(13, HIGH); // calibrate during the first five seconds while (millis() < 5000) { sensorValue = analogRead(sensorPin); // record the maximum sensor value if (sensorValue > sensorMax) { sensorMax = sensorValue; } // record the minimum sensor value if (sensorValue < sensorMin) { sensorMin = sensorValue; } } // signal the end of the calibration period digitalWrite(13, LOW); } void loop() { // read the sensor: sensorValue = analogRead(sensorPin); // apply the calibration to the sensor reading sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255); // in case the sensor value is outside the range seen during calibration sensorValue = constrain(sensorValue, 0, 255); // fade the LED using the calibrated value: analogWrite(ledPin, sensorValue); }
To gain a better understanding of how the calibration sketch works, I read over an the breakdown from http://arduino.cc/en/Tutorial/Calibration. From there, I looked into more information on the mapping function. http://arduino.cc/en/Reference/Map
The mapping function was crucial in making my project behave the way it is intended. I switched the last 2 parameters in that function and eventually changed the last parameter from 0 to -255. The IR detector seemed to calibrate better this way.
Here is what I changed:
// calibrate during the first 10 seconds (initally it was 5)
while (millis() < 10000) {
// apply the calibration to the sensor reading
sensorValue = map(sensorValue, sensorMin, sensorMax, 255, -255);
// in case the sensor value is outside the range seen during calibration
sensorValue = constrain(sensorValue, 0, 255);
// fade the LED using the calibrated value:
analogWrite(ledPin, sensorValue);
}
As I worked into the evening, I noticed my hardware started acting up. As the room became darker, the calibration process wasn’t as accurate. I tweaked this code again, resulting in a pretty different mapping scheme that seemed to work better:
// apply the calibration to the sensor reading sensorValue = map(sensorValue, sensorMin, sensorMax, 0, -500);
I also left the calibration of this sketch at 5 seconds.
The need for a second version of calibration brought to mind the idea for a second input. A photodiode. This would allow the hardware to read the level of light in the room, and use one function over another based on the results.
I also referenced the schematics linked from:I used schematics found on a site made by a guy named Charles Martin. He used the same IR emitter/detector to create a heart monitor.
http://cmpercussion.blogspot.com/2009/07/heartbeat-sensor.html
http://keywon.com/wiki/index.php?title=Project_002

My project underwent many stages. Here are some photos to illustrate:

Revised Idea for Inputs/Output Projects
Amanda and I have decided to use proximity sensors as a common input and we’ll still be using LEDs for our outputs. We are specializing in home furniture-ish things. This video will give you an idea of what we hope to utilize.
There seems to be lots of code available for modding w/arudino and proximity sensors. Also, we may attempt to create our own ir proximity sensors depending on pricing. (We’re broke)
http://www.ikalogic.com/ir_prox_sensors.php
http://www.instructables.com/id/A-very-simple-proximity-detector/
Here is a PDF Breakdown of how this particular PIR (Proximity Infrared) Sensor works: http://nskelectronics.in/files/pirsensor-v11.pdf
Code: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?action=print;num=1144059643
Group Prototype Project (Decision)
Amanda and I agreed to use the common input of vibration sensors and a common output of and LEDs. My second input is yet to be decided. I’m envisioning something is overly sensitive and may triggered by music on a stage. I have a few friends who are musicians, and it would be cool if I could make something for them use during a show.
Project 4 -Telepresence and Embodiment “Amanda Says”
Out of the options given for the mini group projects, our group chose to use Telepresence and Embodiment.
Instructions:
— Make an art project utilizing and relying on your use of webcams, mobile wireless, laptop, communication networks & GPS with your group that has evidence of:
1.Investigations into some aspect of telepresence, teleconferencing, augmented reality. Use these ‘sense/spatial’ technologies to address ideas of politics, culture, social behavior, identity, presence, etc. Use tactics such as simulation, speculation, process , context and collection.
2. You need to work as a group to create the piece and figure out how it will be assembled.
3. The project must address some aspect of how people interact/use technology to extend their abilities and human limitations. Specifically relate it to one of several issues bought up in the chapters 3-4 of the NBC book.
4. Be sure to have your project show some sense of control from one node to another and that the outcome that cannot be predicted.
- You may use any software programs to build this project
- Look for simple solutions to the problem.
What we did:
Here’s the link to the official group website
Our project involved a lot of technologies that are already put in place such as: live public webcam installed at the Peg Leg Pete’s upstairs bar, Google voice (for recording phone calls), the webcam on a Mac from class, Photobooth to record Amanda via the Mac cam, and Quick Time to record the live video stream and Google voice setup.
Amanda Says
We used all of those technologies to develop a sort of game where Tiffany and I became Amanda’s puppets. It was a lot like Simon Says, hence the name “Amanda Says,” except we received our commands via text or phone call. During this time, Amanda was able to directly see our response and if the task was carried out.
One task was inspired from Chapter 3 of Natural born Cyborgs. The task of duct taping the wallet to my hand was an attempt to experience what Andy Clark was describing when he discussed the plasticity of our brains and how it continually tries to find ways to mend externalities to itself and our muscle memory.
Tiffany and I didn’t tell the bar what our plans were from the beginning, but after the first couple tasks we shared our project with the 2 couples sitting closest to us. We left the staff in the dark though, which caused for an interesting reaction from the bartender who supplied the duct tape. Surprisingly the couples next to us stayed in view of the camera, but seemed a little hesitant at first. There were even times where they participated with us.
The last thing we wanted to see was what someone would do if they found a seemingly lost cell phone. After one of the couples left and we paid our bill, I left a bright pink phone (chosen because it could be seen clearly on the cam) on the barstool facing the camera. A stranger comes by, finds the phone and quickly hands it to a bartender. This still leaves me to question if his reaction would have been the same if the phone wasn’t pink, and did this guy know he was on camera?
Project 3 - Arduino Based Music Machine
Instructions: Use the arduino and parts to make a simple programmable music machine.
I decided to create an arduino based snake charmer flute thing. Don’t ask me why… I just did.
Materials:
- Random pieces taken from 2 broken lamps
- Wire
- Ribbon
- Momentary Push Button
- Piezzo Speaker
- Resistor
- Solder
- Duct Tape
I started by finding the notes for the typical snake charming song on the interweb. I used this site:
http://www.tenorsaxophone.us/saxophone.html
I used my breadboard and arduino to test the code I modified before I started on any of the aesthetics.

After I got the song I needed for the project, I was start piecing together something that would resemble a Pungi (which is one of the instruments used to charm snakes).

To get the look I wanted, I had to eliminate the need for my breadboard, so I added 2 additional wires that I used to add a button, soldered all conntections, and used duct tape and insulation so that the casing wouldn’t short out the circuit.



I hotglued some ribbon around the device and once I was finished, the final project looked like this:
Project 1 - Robobum (Hobo Robo)
Class ART3613c Intermediate Digital Studio
Project Instructions: Create a simple electronic circuit and find a place in public where it does not belong.
So yesterday, I put my self-assembled and highly complicated LED kit into action with the creation of the Robobum. Ok, so maybe it wasn’t so incredibly complicated, but it used electricy, had shiny lights, and well it was the first thing I’ve ever soldered!

After collecting random parts from the garages of friends (Ginger and Casey), Josh helped me morph them into my hobo robo. Luckily, Ginger has a secret underground arts and crafts chamber where we could bring him to life.
Once ol’ Robobum was finished, Josh and I shoved him in the trunk of my car and headed out on the road.

The destination was more than iffy. The project was due the next day, I had to generate public interaction (which in Pensacola can be a challenge on a Tuesday night) and I was pretty much exhausted from working all day.
We decided our 2 best bets would be downtown or the boardwalk. Like I said, it was after 9:00 p.m. on a Tuesday. So, we headed downtown. It didn’t take long after reaching Palafox to know where the beloved Robum belonged.
Conveniently, Hopjacks was hosting a 3-dolla-make-you-holla special, so there were plenty of people who could potentially interact with the Robobum. Behind Hopjacks, there is a parking garage. From that garage, a walkway can be easily accessed that leads to the pizza place/bar. Perfect! We can park, get the Robum ready, and discretely roll him to Palafox’s sidewalk where we can inconspicuously watch and wait for something interesting to happen.
.

However, upon the arrival of our destination, we found that this spot was already occupied by 2 panhandlers. Worried that we were intruding their area of claim, and that Robobum’s “Will Compute for Change” sign might offend them, we decided to try to hide the robo in the walk way, but behind a little corner that kept him out of the panhandlers’ sights.

It was during this time that many people walking from the garage passed by, either ignoring the robo or inspecting it.
During Robobum’s incognito stance, one of the panhandlers grew curious about what people were looking at as they passed the entrance of the walkway and walked down to some investigating. At first, he didn’t exactly seem too friendly, not saying a word to me while he walked around Robobum. There was even a moment that I thought he was peeing on my robot because I saw liquid coming from somewhere I didn’t know and his pants were down pretty low. I mean, I was all like, “Oh no he didn’t just pee on my robot.” Wouldn’t you have been?? Ok, that makes me laugh even while I’m writing this, but at the time it was a pretty awkward interaction.
After a closer examination of the evidence (the photo below) it appears that if the man was in fact urinating, it didn’t reach Robobum.

For fear of upsetting that man, I didn’t engage in much conversation, nor did I photograph or record him (at least not then).
It wasn’t long until his friend Barry, who played the guitar quite well, made his way down to check out this random Robo Hobo occupying the same alleyway.
*Note: There is an extremely drunk person talking to me while I’m trying to film the robot. He was asking me if I had at mom. Not sure where he was going with that…
Barry seemed like an all right guy, right? I’ve gotta admit, I was a little uneasy at first. I still wasn’t sure if they took the Hobo Robo invasion as a threat at this point. As it turns out, Robobum seemed to make Barry’s night. He offered me 15% of what he made that night if I let him keep him by his guitar. I didn’t accept the offer, but looking back I’m kinda curious as to how much panhandler’s make on a Tuesday night in Pensacola. Wish I woulda asked.

People gathered around Barry, Robobum and the other guy. One girl asked if Robobum’s blinking eyes were sinked to the music. Another talked about passing him earlier because she was suspicious of someone watching near by with a remote. She wasn’t too far off. People dropped change and dollars into the plastic cup that Barry placed out in front of him and the majority of the Hopjack’s crowd sipped their $3 top shelf drinks 20ft away without any knowledge that Robobum was even there.
However, my absolute favorite part of the night was when Barry sung to Robobum.
Southern Robot by Barry on Palafox:
We left Robobum there with Barry. I hope I get to see him around downtown again soon. He was definitely the funnest project I’ve worked on, probably ever. 










