Monday, December 15, 2014



PComp: DIAP 2014  Crys Moore instructor


“TOUCH ME”  by Phyllis Bulkin Lehrer

Touch me and I will make things move faster. Let go and they will slow down.. It’s Up to You!!!

This Physical computing project “Touch Me” is an attempt to create a physical entity with a relationship to organic matter that has a interaction with a virtual animated environment entity with a sensor. This beginning iteration of the concept involved working with the capacitive sense library, which allows one to build touch sensitive elements from a variety of conductive material. There is a potential to have several pins reading different touch sensibilities from one arduino. Time constraints prevented me from developing that aspect(which I plan to work with in future projects). Instead I have three connected sensor areas reading one pin. There are many variables to experiment with such as distance of conductive material in physical object and the use of various strength resistors to create levels of sensitivity. It is an interesting direction I intend to explore.

My practice is involved with the development of imagery-laden environments that suggest alternative modes of being. Animation is the lens I use to implement most of the imagery. Interactivity in a variety of forms is a layer of meaning and sensibility I am working with hoping to enhance and expand the paradigms I am developing.   This project is a beginning step in that direction. I wish to employ other aspects of physical computing potential actions to create a multifaceted language that does not only depends on projected movement as articulation but also includes physical movement of the perhaps atypical robotic type in tactile space.      

Monday, November 10, 2014

Touch Me .. final project

 The Squishy Seductive Sensory Plant or TOUCH ME...  Phyllis Bulkin Lehrer

This project will be a soft sculptural object that is connected to a computer that plays an animated video program in Processing or Max/MSP. This will be a multi sensored object that has touch sensors in several places I plan on using the CapacitiveSensor library to build a project that will allow touch to control aspect of moving animation and sound.


I will create a three dimensional object that is a soft sculpture this object will be made of fabric, foam core and soft foam. there will be a focal point with  an area that lights up when touched from several spots on the object . The light will dim or get brighter according to pressure and a screen or projection  based program will be ignited by the sensors. The program will be Max/MSP or processing.. It will depend on what is the most successful.. I will design the system to work with both. An addition aspect of the idea would be to create a pencil drawing that says TOUCH ME  on the base of the sculpture that will also be a sensor. This drawing will be the prompt for the sculpture and will trigger LEDs that will illuminate the sensors areas of the sculpture..


This project relates to the failed midterm motor light sensor which worked a bit but I could not get the dc motors to move anything as were too weak. My idea was to create a performance sensor element that controls movement. This will have more of a chance to be successful as I know I can make images move in processing and Max.. I just need to figure out how to get the sensor data transferred. and triggering. I also like the idea of incorporating pencil drawing.. which could be fun.. It solves the problem of how to instruct the user and also incorporates 2 dimensions and 3 dimensions.. something that is a focus of my practice. The piece would be designed to potentially work as a part of the set of a performance art work. There will be a vague reference to a plant like type of form but will be not recognizable .


timeline


week 11..

design and plan.. buy fabric and any sensors necessary


week 12.. test out sensors.. build arguing to serial program and the Max and/or Processing



week 13 build prototype.. solder any thing that needs it.. and test the system.. once it is working adapt to Max or Processing image that is being developed..


week 14.. finish up and test..with various movement & or sound


Week 15.. hopefully successfully accomplished


Here is a sketch of a beginning plan.. details of which will change as move forward

Monday, October 27, 2014

Am working on code for serial communication to processing and max.. not quite there...hope we can work on in class

also got a robot with wheels and motor that I will hack and build on to make creature that follows your light..




Monday, October 20, 2014

I have been spending quite a bit of time with Pcomp.. it is tough slogging.

I am seeing a dim light at the end of the tunnel,however and seem to be making some hesitant progress.. I re did the button as I was determined to get three working in parallel..

This is quick clip


As for the midterm.. finally got something working.. It seems that your project is only as good as your components and my components s--k..

The motors were crap and could not fit anything on them except tape .. I will redo with better components.. Also the Shield did not specify which pins were used for what direction.. so could not specifically access the speed.. got photocell to control on and off and leds at same time so in a sense have bare bones of machine..

I think for a performance object I will have the reaction be to light.. as in the actor using phone or small flashlight to activate creature.. ie; would follow the performers or participants light..

here is a little rough but fun video..

looked at github.. but did not have energy to do at the moment.. will get to soon..


here is code.. is basic but will develop..
-------------------------------------------------------------
int led1 = 04;
int led2 = 05;

int photocellPin = 3;//set sensor pin
int photocellReading;  //set reading of sensor
int Ledbrightness; // set led function
#include "MotorDriver.h"

void setup()
{
  Serial.begin(9600);// begin serial out

  // initialize the digital pin as an output.
  pinMode(led1, OUTPUT);
   pinMode(led2, OUTPUT);
  /*Configure the motor A to control the wheel at the left side.*/
  /*Configure the motor B to control the wheel at the right side.*/
  motordriver.init();
  motordriver.setSpeed(150,MOTORB);
  motordriver.setSpeed(150,MOTORA);
}

void loop()
{
  photocellReading = analogRead(photocellPin); // read sensor
  Serial.print("Analog reading = ");
  Serial.println (photocellReading);
 // photocellReading = 1023 - photocellReading;
  Ledbrightness = map(photocellReading, 0, 1023, 0, 255);// map sensor
  analogWrite(led1, Ledbrightness); // make both leds go on
  analogWrite(led2, Ledbrightness);
  if (photocellReading > 50){

 digitalWrite(led1, HIGH);   // turn the LED on (HIGH is the voltage level)
  //delay(1000);               // wait for a second
 
  // turn the LED off by making the voltage LOW
  //delay(1000);{
   digitalWrite(led2, HIGH);   // turn the LED on (HIGH is the voltage level)
  //delay(1000); 
  }
else if

 (photocellReading < 50) // wait for a second
 { digitalWrite(led2, LOW);
  digitalWrite(led1, LOW);
  // turn the LED off by making the voltage LOW
  delay(1000);

  }
if (photocellReading > 50) {
   Serial.println("dark");
 
  motordriver.goForward();

delay(1000);

 

}
else if (photocellReading < 50){
    motordriver.stop();
    Serial.println("dark");
 //delay(1000);
}
  }


-----------------------------------------------------------

and get caught up on rest by next week.....


Tuesday, October 7, 2014

Here is a rough plan for midterm project..

needs refining .. and could be
? possible.. but remains to be seen

Saturday, September 27, 2014



Lab #3
 first research:

The Piezo or knock sensor is a little disk that detects sound over a certain threshold.
you connect to ground (black)and an analog pin with a resistor.. A Piezo is an element that can be used to produce or detect sound.. It can be used to perhaps open a door when a loud enough knock is sensed..Also the result can be printed to the serial port to be used in serial communication with processing.


Now for the sensor experiments.. I was able to get the light sensor to read in a variety of configurations.. The potentiometer I had (at home) kept falling off the breadboard ..it worked but was unstable so did not video it. The photocell was much better and got two to work.. just worked with fade and calibrating but understand smoothing and mapping..

here is some code and video..

nt buttonPinA = 8; //set buttonpin#
int buttonPinB = 9; //set buttonpin#
int buttonPinC = 10; //set buttonpin#
int sensorValue = 0;         // the sensor value
int sensorMin = 1023;        // minimum sensor value
int sensorMax = 0;           // maximum sensor value


const int ledPin = 5; //set ledpin#
const int sensorPin = A0;    // pin that the sensor is attached to
byte leds = 0;

void setup() {
 
  pinMode(ledPin, OUTPUT); //led output
  pinMode(buttonPinA, INPUT_PULLUP); //button input
  pinMode(buttonPinB, INPUT_PULLUP); //button input
  pinMode(buttonPinC, INPUT_PULLUP); //button input
  //digitalWrite(buttonPin,HIGH);
  // 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);

  //buttonState = digitalRead(buttonPin); //read state of button

  if (digitalRead(buttonPinA) == LOW)
  {
    digitalWrite(ledPin, HIGH);
  }
  // else{
  //turn led off
  if (digitalRead(buttonPinB) == LOW)
  {
    digitalWrite(ledPin, LOW);
  }

  if (digitalRead(buttonPinC   ) == LOW)
  {
    digitalWrite(ledPin, HIGH);
  }
}

and another which I put in a little left over box project to finally finish it.. was able to connect 9V battery so no wires ma!

//Pins:
int sensorPin = 0;
int lightPin = 2;
int lightState = 0;
int lowThreshold = 8;
int highThreshold = 20;

void setup()  {
  //start serial & set pin to output

  Serial.begin(9600);
  pinMode(lightPin,OUTPUT);



}
void loop(){

  //read the sensor pin:
  int sensorValue = analogRead(sensorPin);

  //if light level low switch light on
  Serial.println(sensorValue);
  if(sensorValue < lowThreshold){

    digitalWrite(lightPin, HIGH); 

  }

  if (sensorValue > highThreshold)
    digitalWrite(lightPin, LOW);

}
I changed the calabration so would respond to my readings


here is little compiled video of experiments






Monday, September 15, 2014

This is my update....

Tried the multimeter.. got some readings but am still a bit murky on exactly how to make sence of it.

Would be great if you could do a demo in class.. The meter I got from Amazon is a bit different that the one shown in the lab.. Just would like to be clear on the differences and in general how it works and when is necessary to use. ( I know its explained but I think I need more real time example)

The first button lab went well.. Here is a little video:

The next three button lab was a little confusing, I followed the illustration for the breadboard
but there was no sample code. I looked on line and was not sure what to use.. so would be great if you could go over that as well. I will try to make a soft a switch and bring it in..
The readings were interesting. I liked Talk to me.. I do agree that the most complicated interactivity is not always the best choice and the focus when designing a project needs to be on how effective is the tool and its capacity to deliver its message with an integrated aesthetic... The rant was good .. as I agree that it is important to consider the whole body in terms of interactive access..

The cookbook was much too much material to absorb..Most of us have limited programing background .. I have a little and still all that material needs some practical reference to really understand.. I could not see any code that referenced the breadboard set-up in the second lab..I was not sure if I should add a wire to pin 13 from the led and to wire the switches to one pin or three..

So.. not that successful.  but I like making videos when things do work..

code for first button project

void setup() {
  pinMode(2, INPUT); //sets the switch to be an input
  pinMode(3, OUTPUT); // sets green led pin to be output
  pinMode(4,OUTPUT);  // sets the yellow led pin to be aan output
 
}

void loop() {
 
  if (digitalRead(2) == HIGH) {
   
    //if switch is closed:
   
    digitalWrite( 3, HIGH); // turn on green led
   
    digitalWrite(4,LOW); // turn yellow led on
  }
  else {
    //if the switch is open:
    digitalWrite(3, LOW);  //turn off green
   
    digitalWrite(4,HIGH); //turn on yellow
  }
   


}

I finally got the three button configuration to work..
found an adafruit tutorial that showed how the little button is wired..
that was whole issue..

here is a video that includes code for two versions


oops.. code doesn't read  so

#1
three button#1
three button #2