The Finger

So the final form of this project represents how I feel about this project Actually never mind, by the end of the project, due to a litany of technical difficulties and having to scrap what I thought I was coding and reinstall the entire arduino driver, this is actually pretty much how I felt about it:IMG_2329

In any case, the original conception of this project was that I wanted to make a hand. Just in general. Hands are expressive and they move in ways that seem pretty basic but aren’t. Initially I thought I was going to do something ridiculously complicated with like sixteen itty bitty gears that would replicate finger joints, just to prove that I could make a hand. Once I’d gotten that far it was too late to come up with a different concept, so I thought, “Okay, I’m making a hand. How can I make it interesting and/or amusing?”

And so this happened. Basically it’s a horribly lumpy little clay hand about the size of a ten-year-old’s, which gives the middle finger to its audience when you twist a potentiometer. There’s that saying, something like “it takes 4o something muscles to frown and only 4 to smile” and I don’t know how many it takes to flip someone the bird. I don’t know how many more muscles it is to turn a dial on a potentiometer, but I bet it’s more than just sticking up the middle finger yourself. Essentially, this is a machine that says that you’re putting some real effort into telling someone “fuck you.”

(Sketches are coming I promise)

Fritzing diagram:

potentiomiddle finger

Arduino code (borrowed under extenuating circumstances):

// Controlling a servo position using a potentiometer (variable resistor) 
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> 
//code adopted under emergency circumstances

#include  
 
Servo myservo;  // create servo object to control a servo 
 
int potpin = 0;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin 
 
void setup() 
{ 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
}  
 
void loop() 
{ 
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023) 
  val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180) 
  myservo.write(val);                  // sets the servo position according to the scaled value 
  delay(15);                           // waits for the servo to get there 
}

Comments are closed.