November 24, 2009

Stripping and Exterior Decoration - Bryce Davidson

Initially, I worked on visual aspects of the dance club. I helped spice up the walls of the club with decorative checkered paper, and shared ideas about what could visually be happening in the club. Through this process, I started thinking about the different movement aspects that would be fun to add. Mostly, I was thinking about the different dances that I could simulate with the assistance of the Arduino. I had the idea of using a Servo motor to make one of the action figures do "the sprinkler" on the dance floor. In the end, the motion of the motor that I programmed made more sense for the shirtless action hero on the stripper pole.

I was really happy with how it turned out. It was quite a process building the motor shield, and then learning how to make it move how I wanted it to move. The programming was definitely the biggest challenge, but learning how to interact with it was quite satisfying.

Here is the code for the Servo motor:

// Sweep
// by BARRAGAN

#include

Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created

int pos = 0; // variable to store the servo position

void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}


void loop()
{
for(pos = 0; pos < 90; pos += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}
for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}

Dance Club

I had a great time working on this project. We all did our part making the assignment fun and run smoothly. After we decided to create a dance club for action figures. I searched my home for any sort of action figures/dolls and brought them to class. Robin had already made the walls of the dance club so i spent my time helping to decorate and giving roles to the action figures. After some time we noticed that it would have to be a gay club since i did not have any female action figures. I worked on subscribing roles to individual action figures, creating props and decorating. I also helped to make the taped electrical grid on the floor of our club. Nick and I worked really hard on making the spinning break-dancer. I attached a nine volt to a spinning motor and we created and decorated a box that taped over the motor. Nick drilled a hole in the head of the action figure and we attempted to glue him on the motor's spinning rod. This, however, proved to be a difficult task. Perhaps he had a headache from being upside down for so long, but he just didn't want to stay on that rod. Finally after many attempts we got him to stick. Then I found the break-dancer a "number one fan" and gave him or her (very ambiguous sex to that action figure) a sign and put tin foil on the bottom of "its" feet in order to complete the circuit and allowing the break-dancer to spin. While we were doing this the more arduino proficient part of our group had come up with an electronic dance floor, a gyrating stripper pole, and bubbling disco lights. I helped to decorate the exterior of the dance club, which was all that was left. The End.
~Tyler Williams

processing + arduino

You can find a guide to connecting the arduino and processing here.

You can benefit from the approaches that other people have taken with these introductory examples of communication between the arduino and processing here.
You can find examples here and here.

processing

Here are some resources for exploring Processing as a medium for experimenting with dynamic images and text.


The home site has a series of tutorials.

Daniel Shiffman share his wisdom via tutorials, examples, and exercises.


... some beginning explorations:

3-5 mouse pressed key pressed

5-3 rollovers

5-5 button as switch

9-10 interactive stripe

10. implementing a timer

15.2 image sprite

17.5 Rotating Text


Explore the exhibition ,

Which work intrigues you?

How would you describe the aesthetic of this art work?

If you were experiencing this art work in a tangible, sensory way, how would you want you want it to respond or interact with you?

The Mystery Well










November 21, 2009

fritzing

fschemerawsmall.jpg

fritzing is "an open-source initiative to support designers, artists, researchers and hobbyists to take the step from physical prototyping to actual product."

download the beta version and try it out.

You can use it to document the electronics in your arduino project.

the magic combo of your .pde code file and your .fz fritizing files will provide you with sharable documentation.

try some of the projects here and consider sharing yours.

November 19, 2009

Perry Hoberman

Perry Hoberman teaches in and works with digital media at the University of Southern California School of Cinema Television. Although dedicated to teaching in recent years, Perry has created several notable, award winning, pieces in the past. These include his works System Maintenance and Bar Code Hotel. I'm particularly drawn to Hoberman's work in Bar Code Hotel. Perry's use of an everyday consumer icon, the barcode, in an interactive fashion is both creative and thought provoking.

Usually I see the digital world of the barcode affecting me. When I purchase an item, a task that typically requires the scanning of a bar code, I am personally affected because I have less money and a new product. It is interest to see the tables turned in which the scanning affects another, in-organic creature.

Much like how the scanning of a barcode affects me through my purchase of an item, the scanning of a barcode affects the inorganic programmed objects within the virtual barcode hotel world. If I purchase a movie I'll likely become lazy, staying home and watching it on my couch. If I purchase a case of beer I'll likely fall into a jolly state of inebriation.

Similarly, each barcode in barcode hotel gives a virtual representation certain characteristics. Scan one barcode and the representation may become aggressive, scan another and it may become docile. Each virtual character is influenced by the barcode, much like the modern consumer.

You can check out more of Perry's projects at www.perryhoberman.com.

Head Spinin', Crab Walkin' & More

So I was predominately involved with general construction of the night club and less with the technical Arduino programming/wiring. I helped with the conductive strips on the foam part of the floor where we could rig up some sort of simple action involving tin foil contact points on the action figure's feet/hands/etc. The "Rufio" crab walking character had a cell phone vibrating piece attached to his back, which was connected to wires that were wrapped and soldered around his hands. When he was bent into a crab walking position and placed with his knuckles on the conductive tape on the floor, he would vibrate from the motor, giving him the illusion of crab walking. I also, along with Tyler, helped to create the "head-spinning" action figure representation of Bryce. The circuit was essentially a 3.5volt (or however many volts it was) motor (the kind that had simply a small, spinning peg), a 9 volt battery, and "alligator" wires to connect it all. We concealed the system beneath a hand-crafted cardboard box. We left the circuit incomplete with two tin foil contact points exposed outside of the box. The circuit would be completed, and subsequently cause the motor to spin, when an action figure with tin foil on their feet stood on the two strips of tin foil to complete the circuit. The action figure representation of Bryce was the blonde-haired guy with the lime green glasses attached to the "elevated-head-spinning-box". To attach him to the peg of the motor, I stuck the figure into a vice, used a Dremel tool to drill a small hole into the top of his head, filled the hole with a few drops of hot glue, and placed the figure upside-down onto the motor peg. We let him dry and tested it to make sure it worked.
In addition, I also helped with the building of the physical structure of night club.

Club Dance Floor


I was predominantly involved with the creation of the LED dance floor that was at the center of the club floor. The dance floor consisted of 12 squares, each containing a LED. The LEDs were each wired to a resistor that in turn ran into one of the arduino's digital I/Os. The negative leads of the LEDs each ran into a strip that tied them all together so that they could be plugged into the arduino's ground. This helped eliminate clutter. I used the code below to light the LEDs in sequence. The code is a combination of the "knight rider" for loop presented on the arduino website and some simple coding similar to that presented in the example sketch "blink". Reflective tape was used to shape the squares to separate the flashes of light. The light was dispersed with a sheet of thin foam which was covered with a piece of glass.

ClubDanceFloor.pde



int aOne = 1;
int aTwo = 2;
int aThree = 3;
int bOne = 4;
int bTwo = 5;
int bThree = 6;
int cOne = 7;
int cTwo = 8;
int cThree = 9;
int dOne = 10;
int dTwo = 11;
int dThree = 12;
// LED connected to digital pin 13

// The setup() method runs once, when the sketch starts

void setup() {
// initialize the digital pin as an output:
pinMode(aOne, OUTPUT);
pinMode(aTwo, OUTPUT);
pinMode(aThree, OUTPUT);
pinMode(bOne, OUTPUT);
pinMode(bTwo, OUTPUT);
pinMode(bThree, OUTPUT);
pinMode(cOne, OUTPUT);
pinMode(cTwo, OUTPUT);
pinMode(cThree, OUTPUT);
pinMode(dOne, OUTPUT);
pinMode(dTwo, OUTPUT);
pinMode(dThree, OUTPUT);
}

// the loop() method runs over and over again,
// as long as the Arduino has power

void loop()
{
digitalWrite(aOne, HIGH); // set the LED on
delay(100); // wait for a second
digitalWrite(aOne, LOW); // set the LED off
delay(100); // wait for a second

digitalWrite(aTwo, HIGH);
delay(100);
digitalWrite(aTwo, LOW);
delay(100);
digitalWrite(aThree, HIGH);
delay(100);
digitalWrite(aThree, LOW);
delay(100);
digitalWrite(bOne, HIGH);
delay(100);
digitalWrite(bOne, LOW);
delay(100);
digitalWrite(bTwo, HIGH);
delay(100);
digitalWrite(bTwo, LOW);
delay(100);
digitalWrite(bThree, HIGH);
delay(100);
digitalWrite(bThree, LOW);
delay(100);
digitalWrite(cOne, HIGH);
delay(100);
digitalWrite(cOne, LOW);
delay(100);
digitalWrite(cTwo, HIGH);
delay(100);
digitalWrite(cTwo, LOW);
delay(100);
digitalWrite(cThree, HIGH);
delay(100);
digitalWrite(cThree, LOW);
delay(100);
digitalWrite(dOne, HIGH);
delay(100);
digitalWrite(dOne, LOW);
delay(100);
digitalWrite(dTwo, HIGH);
delay(100);
digitalWrite(dTwo, LOW);
delay(100);
digitalWrite(dThree, HIGH);
delay(100);
digitalWrite(dThree, LOW);
delay(100);
}

Mystery Well - Collaborative Project (More images to come)

Mystery Well - Collaborative Project

Mystery Well - Collaborative Project

Mystery Well - Collaborative Project

Theo Jansen - Kinetic Sculptor


Nightclub Video

November 18, 2009

Club Images and Video

club1.jpg
club2.jpg
club3.jpg
club4.jpg

November 17, 2009

Collaborative

For this project I worked with the group on the overall construction of the club, some things such as the NEON bubble tubes, were designed for implementation of the club. The level of interactivity is limited as of yet. However the way the floor was designed and the club itself is so that modifications would be achieved without great hindrance.
The code is a modification of analog control as it uses a potentiometer that senses when a considerable amount of change in light occurs.

The code:
NightClubCode.pde

int sensorPin = 0; // select the input pin for the potentiometer
int ledpin = 4; // select the pin for the LED
int sensorValue = 0; // variable to store the value coming from the sensor
int ledpin1 = 5;
int ledpin2 = 6;
int ledpin3 = 7;
int ledpin5 = 8;
int ledpin6 = 9;
int ledpin7 = 10;
int ledpin4 = 11;
int Norm = 0;
int squid = 0;
int time = 0;
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledpin, OUTPUT);
pinMode(ledpin1, OUTPUT);
pinMode(ledpin3, OUTPUT);
pinMode(ledpin4, OUTPUT);
pinMode(ledpin5, OUTPUT);
pinMode(ledpin6, OUTPUT);
pinMode(ledpin6, OUTPUT);
pinMode(ledpin7, OUTPUT);
Norm = analogRead(sensorPin);
}
void loop() {
squid = (analogRead(sensorPin) - Norm);
if (squid * squid > 30) {
digitalWrite(ledpin4,HIGH);//speaker control
delay(2000);
digitalWrite(ledpin4,LOW);//
digitalWrite(ledpin,HIGH);//caveman
digitalWrite(ledpin1,HIGH);//relay
digitalWrite(ledpin2,HIGH);//relay
digitalWrite(ledpin3,HIGH);//relay
digitalWrite(ledpin5,HIGH);//bubbles
digitalWrite(ledpin6,HIGH);//laser
while (time < 1000) {
digitalWrite(ledpin7,HIGH);//laser
delay(random(30,200));
digitalWrite(ledpin7,LOW);
delay(random(30,200));
time = (time + 1);
}
time = 0;

}

// read the value from the sensor:

}

November 12, 2009

Tilt Active Sketch

Tyler Williams- For this assignment, i used the tilt sensor to create a narrative between two action figures and the audience. I strapped the tilt sensor to an action figure that i dressed like a "terrorist" from Guantanamo bay and i had a Captian America action figure standing at a station that two LED's were attached to. I was only able to make one of the LED's turn on so I attached that one to lie. When the terrorist head was dipped into water then the LED would indicate that he was lying. In this way the terrorist had no way of telling the truth and thus would be kept in Guantanamo Bay forever. I had Captian America tell the audience (which were children since they were action figures) to help him by torturing the terrorist. This way i symbolically put the audience in the awkward position of a soldier at Guantanamo bay that is taking orders to torture an individual. I also wanted the set up to feel like a commercial action figures that targets children. This is to relate how we as the United States act towards our "enemies" and how we are training our children to do the same thing with the toy bad guys that they play with.