welcome to a new home.

January 18th, 2008 admin

just feeling things out.

Posted in Blogroll, home, icm, physical computing | No Comments »

physical computing – observation project

October 4th, 2007 admin

video observations

Posted in home, physical computing | No Comments »

noise^3

September 29th, 2007 admin

assignment: design a one to one relationship.

working with steven and vikram our objective was to create a multi user interface allowing for the collaborative construction of soundscapes. the atmel atmega168 microprocessor was used to generate square waves. modulation and variance was generated through analog input [potentiometers, fsr sensors]. varied signal delay represented the primary means of tone variation.

three individual interfaces were constructed, each capable of communication with up to four loudspeakers. the images and code (written for arduino) found below are still in a developmental stage.



//code in progress

int powerPin = 3;
int speaker1Out = 11;
/*int loopPin = 13;
boolean loopRecording = false;
boolean loopPlaying = false;
int loopButton = 12;
int loopArray[200];
int loopLength = 200;
int placeInLoop = 0;
int loopVal = 1;*/
int potPin = 1;
int pot2Pin = 2;
int pot3Pin = 3;
int fsrPin = 4;
int potVal = 0;
int pot2Val = 0;
int pot3Val = 0;
int fsrPinVal = 0;
int pot2SwitchPin = 4;
int pot2SwitchPinVal = 0;
int switchPin = 4;
int currentNum = 0;
int currentSpeaker = 1;
int stepSize = 0;

void setup() {
pinMode(speaker1Out, OUTPUT);
pinMode(switchPin, INPUT);
Serial.begin(9600);
}

void playTone() {
potVal = analogRead(potPin);
fsrPinVal = analogRead(fsrPin);
Serial.println(fsrPinVal, DEC);
potVal -= fsrPinVal*2;
pot2Val = analogRead(pot2Pin);
pot3Val = analogRead(pot3Pin);
/* if(loopPin==HIGH) {
loopArray[placeInLoop] == potVal;
placeInLoop++;
loopRecording = true;
}
else if (loopPin==LOW && loopRecording == true) {
loopPlaying == true;
}
if (loopPlaying == true) {
if(placeInLoop
potVal = loopArray[placeInLoop];
placeInLoop++;
}
else {
placeInLoop = 0;
}
} */
if(pot3Val > 10) {
stepSize = potVal-(potVal%(pot3Val/2));// stepSize = potVal-(potVal%(pot3Val));
}
else {
stepSize = 0;
}
digitalWrite(speaker1Out,HIGH);
delayMicroseconds(potVal*4-stepSize);// * 4
digitalWrite(speaker1Out, LOW);
delayMicroseconds(potVal*4-stepSize); // *4
analogWrite(speaker1Out, potVal*3);
pot2SwitchPinVal = digitalRead(pot2SwitchPin);
if(pot2SwitchPinVal==HIGH){
if(random(3) > 1){
delay(pot2Val/8 + random(10));
}
}
// loopVal = digitalRead(loopPin);
}

void loop() {
playTone();
}

Posted in home, physical computing | No Comments »

lab 2: digital io

September 19th, 2007 admin



first steps: switch / digital io / arduino


// digital io. pcomp lab 2.

int outputPin1 = 7;
int outputPin2 = 8;

int inputPin = 2; // choose the input pin (for a pushbutton)
int val = 0; // variable for reading the pin status

void setup() {
pinMode(outputPin1, OUTPUT); // declare LED as output
pinMode(outputPin2, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare pushbutton as input
Serial.begin(9600); // 9600 baud (speed) comment out serial statements at actual run tine.
}

void loop(){
val = digitalRead(inputPin); // read input value
Serial.println(val);
if (val == HIGH) { // check if the input is HIGH
digitalWrite(outputPin1, HIGH); // turn outputPin1 on
digitalWrite(outputPin2, LOW); // turn outputPin2 off
} else {
digitalWrite(outputPin2, HIGH); // turn outputPin2 on
digitalWrite(outputPin1, LOW); // turn outputPin1 off.
}
}

Posted in home, physical computing | No Comments »