As computing becomes more ubiquitous in our objects, designers need to be more aware of how to design meaningful interactions into electronically enhanced objects. At the University of Washington, a class of junior Interaction Design majors is exploring this question. These pages chronicle their efforts.

Wednesday, April 20, 2011

Week 4: What Sensors


Meleigha and Amber:

• Can you sense something without touching it? is contact (touching) better?
- Motion sensors
- Proximity sensors
- In the case of our project, touching is not better because it is too late by that time--a person has already been poked by the umbrella.
• What is the cheapest way to sense what you want? The most expensive?
- [cheap one] http://www.instructables.com/id/A-very-simple-proximity-detector/
- [other one] http://www.parallax.com/tabid/768/ProductID/92/Default.aspx
• Can you combine two or more sensors input to sense something? What about using only one
- In our situation, one sensor is ideal to detect the presence of another person or an object. Since this is used in public, other sensory inputs (such as sound or light) could be misinterpreted, therefore one type of input is necessary.
- Umbrella with tentacle-like feelers, that feel-out the surrounding area for people or objects. If an object was detected, then the umbrella would retract accordingly.
• Can you combine output with sensing? For example, to detect a person, what if you squirted a water gun, and then waited to hear a yell with a microphone?
- A person that knocked into an umbrella, thus impeding flow of water from gutters on the umbrella, would result in the umbrella contracting.
- If a person blocked the flow of light encompassing and spinning around the umbrella, then the umbrella would retract.

Code and Blinking Light:

Version:1.0 StartHTML:0000000167 EndHTML:0000004014 StartFragment:0000000457 EndFragment:0000003998

We used the codes found in the book to make our light blink and fade. The fade code is:


//Fading LED page 59

# define LED 9 //Define LED is 9

int i=0; //intensity is zero


void setup() {

pinMode(LED, OUTPUT); //LED is the output

}

void loop(){

for(i=0; i<255; i++){ //intensity increases to 255

analogWrite(LED, i); //Output reaches intensity

delay(10); //waits 10ms

}

for (i = 255; i>0; i--){ //intensity decreases back to zero

analogWrite (LED, i); //Output reaches intensity

delay(10); //waits 10ms

}

}


The blink code (this one is the 1, 2, 1 sequence) we used was:



//Blink Once then Twice then Once

#define LED 13


int val = 0; //


void setup() {

pinMode (LED, OUTPUT);

}


void loop() {

val = analogRead(0);

digitalWrite(13,HIGH);

delay(500);

digitalWrite(13,LOW);

delay(1000);

digitalWrite(13,HIGH);

delay(500);

digitalWrite(13,LOW);

delay(1000);

digitalWrite(13,HIGH);

delay(2000);

digitalWrite(13,LOW);

delay(1000);

}


We discovered that we could change the either the high (light on) or low (pause) interval to achieve the same effect of blinks appearing close together. For example, to show the sequence one blink, two blinks, one blink, we made the low period longer after the first blink and after the two blinks. This same effect could be achieved by making the the first blink twice as long as the proceeding two blinks.


No comments:

Post a Comment