Sensoral Dislocation

Submitted by jmscott212 on Tue, 02/12/2013 - 23:32

Lab 2 :Sensorial Dislocation

Submitted by John Scott

 

Description

Since I'm horrible at coding and really don't understand it at all yet, I tried to make up for this shortcoming by creating an abstract sculpture that positioned the LED as the illuminating body- and most importantly- the eye of a figure.  The 'dislocated eye' is dead on the edge of a wooden toothpick without its technological life stream.  The teeth and bridge of the nose, while connected to the illuminated body, are only brought to life once they are visualized, or mediated through their visuality but denied their essential function (we rarely smell or taste in our interactions with the digital). 

Components Used

  •  3 LED (Red, Green, Blue)
  • Arduino Uno
  • Breadboard
  • 3 220-ohm Resistor
  • Plastic tube
  • 2 rubber bands
  • Toothpicks
  • Q-Tips
  • Dryer Sheet
  • Black Marker

Code

/*
 * Serial RGB LED
 * ---------------
 * Serial commands control the brightness of R,G,B LEDs
 *
 * Command structure is "<colorCode><colorVal>", where "colorCode" is
 * one of "r","g",or "b" and "colorVal" is a number 0 to 255.
 * E.g. "r0"   turns the red LED off.  
 *      "g127" turns the green LED to half brightness
 *      "b64"  turns the blue LED to 1/4 brightness
 *
 * Created 18 October 2006
 * copyleft 2006 Tod E. Kurt <tod@todbot.com
 * http://todbot.com/
 */

char serInString[100];  // array that will hold the different bytes of the string. 100=100characters;
                        // -> you must state how long the array will be else it won't work properly
char colorCode;
int colorVal;

int redPin   = 10;   // Red LED,   connected to digital pin 10
int greenPin = 9;  // Green LED, connected to digital pin 9
int bluePin  = 11;  // Blue LED,  connected to digital pin 11

void setup() {
  pinMode(redPin,   OUTPUT);   // sets the pins as output
  pinMode(greenPin, OUTPUT);   
  pinMode(bluePin,  OUTPUT);
  Serial.begin(9600);
  analogWrite(redPin,   127);   // set them all to mid brightness
  analogWrite(greenPin, 127);   // set them all to mid brightness
  analogWrite(bluePin,  127);   // set them all to mid brightness
  Serial.println("enter color command (e.g. 'r43') :");  
}

void loop () {
  // clear the string
  memset(serInString, 0, 100);
  //read the serial port and create a string out of what you read
  readSerialString(serInString);
    
  colorCode = serInString[0];
  if( colorCode == 'r' || colorCode == 'g' || colorCode == 'b' ) {
    colorVal = atoi(serInString+1);
    Serial.print("setting color ");
    Serial.print(colorCode);
    Serial.print(" to ");
    Serial.print(colorVal);
    Serial.println();
    serInString[0] = 0;                   // indicates we've used this string
    if(colorCode == 'r')
      analogWrite(redPin, colorVal);
    else if(colorCode == 'g')
      analogWrite(greenPin, colorVal);
    else if(colorCode == 'b')
      analogWrite(bluePin, colorVal);
  }
 
  delay(100);  // wait a bit, for serial data
}

//read a string from the serial and store it in an array
//you must supply the array variable
void readSerialString (char *strArray) {
  int i = 0;
  if(!Serial.available()) {
    return;
  }
  while (Serial.available()) {
    strArray[i] = Serial.read();
    i++;
  }
}

0
Your rating: None
Drupal theme by Kiwi Themes.