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 24, 2013

1-5 Blink LED, and Button


Button exercise 
With some hep from Sandy, I was able to to the blinks. Here is the code:

/*
Count to 5.

This code counts from one flash of an LED up to 5 flashes, and then loops.

ELEGANT
 */
 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;


void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

void loop() {
  int i = 1;  //counter variable
  int j = 1;  //counter variable
  
  for(i=1; i<6; ++i){
    for(j=1; j<=i; ++j){
      digitalWrite(led, HIGH);   // 1 Flash
      delay(200);              
      digitalWrite(led, LOW);    
      delay(400);      
    } 
  delay(1000);    
  }
  
}

Count sketch with a while or for loop; Button sketch — M. Simone; S. Churng

In this version of the Blink sketch, our code blinks an LED 5 times, then pauses 5 seconds, then goes back to blinking.

/*
  authors: sarah churng; mallika simone
  Turns on an LED on for one second, then off for one second, for a count of 5 times.
 */

// LED on pin 9
int ledPin = 9;                 // set LED connected to pin 9
int maxnum = 5;                 // set the max blink num to 5
int count = 0;                  // start the count at 0

void setup() {                
  // initialize the digital pin as an output.
  pinMode(ledPin, OUTPUT);     
}

void loop() {
  for(count = 0; count < maxnum; count++){ // iterate 5 times
    digitalWrite(ledPin, HIGH);            // turn the LED on 
    delay(1000);                           // wait 1 second
    digitalWrite(ledPin, LOW);             // turn LED off
    delay(1000);                           // wait 1 second
  }
  delay(5000);                             // after 5 blinks, wait 5 seconds
}

Alternatively, a while loop can be used to count down from maxnum to 0:

void loop() {
  while(count < maxnum){                   // iterate until we count to 5
    digitalWrite(ledPin, HIGH);            // turn the LED on 
    delay(1000);                           // wait 1 second
    digitalWrite(ledPin, LOW);             // turn the LED off 
    delay(1000);                           // wait 1 second
    count++;                               // increase count
  }
  delay(5000);                             // after 5 blinks, wait 5 seconds
}

This is a photo of our button setup. The LED at pin 13 on the Arduino board lights up when the button is pushed.



Blink and Button //Karin & Enrique


The Button program went fairly well except for the fact that we were missing a resistor. This meant that by closing the circuit the LED went from being on to being brighter. By using the resistor the LED would have been off from the beginning.



This is our blink code (a little too many function calls and too few variables in my opinion.. but it works!):

/*
  Blink
  Enrique and Karin
 */

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {              
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  //uglyBlink(); //Hardcoded
  blinkLoop();  //Looped version
}

void blinkLoop(){ //loops through
  int times = 5; //how many blink intervals
  int i = 1; //number of blinks
  for(i; i<=times; i++){  
    blinkNormal(i); //calling BlinkNormal function for intervals
    delay(600); //delay between intervals
  }
delay(2000);
}

void blinkNormal(int times){ //function that blinks the LED a set number of times
  for (int i = 1; i<=times; i++){
    digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
    delay(300);               // wait
    digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
    delay(300);
  }
}

void uglyBlink(){ //hardcoded blinks up to five
  blinkNormal(1); //blink once
  delay(500);
  blinkNormal(1); //blink once
  blinkNormal(1); //blink once
  delay(500);
  blinkNormal(1);
  blinkNormal(1);
  blinkNormal(1);
  delay(500);
  blinkNormal(1);
  blinkNormal(1);
  blinkNormal(1);
  blinkNormal(1);
  delay(500);
  blinkNormal(1);
  blinkNormal(1);
  blinkNormal(1);
  blinkNormal(1);
  blinkNormal(1);
  delay(500);
}


Saturday, April 20, 2013

Deaf and Independent (Charlie & Randy)

Deaf individuals find challenges in day-to-day task that many of us are unaware of. This includes driving, communicating with family and friends, waking up in the morning, answering the door, attending school,  and finding a job. 

Driving has been an especially controversial issue. There is obvious discomfort that comes along with deaf drivers. In 2006 UPS attempted to ban deaf drivers from employment, but the case was dismissed. At least 26 countries have banned the deaf from driving. 

Furthermore, there have been a number of solutions designed as alarm clocks for the deaf. Mostly alarms that turn on the lights to awake the user.

However, we believe the best solution is to design a product that helps deaf interact with the world, rather than designing a world of products that interact with the deaf.

We are hoping to assist the deaf in becoming independent and self-reliant individuals. Leveraging sound senors and vibration motors in conjunction with the Arduino, we are going to implement wearable technology that will help the deaf rediscover the world around them. The device, a necklace, harnesses five sound senors directed around the periphery of the user will react to differentials in sound amplitude. Five vibration motors around located along the necklace will vibrate according to the direction and amplitude of the sound differentials. 


Sensors


Sound Sensor


Actuators

Vibration Motor



Thursday, April 18, 2013

Drunk Walking Dangers Avoidance — M. Simone, S. Churng


Over 1/3 of pedestrian fatalities involve alcohol. 

According to the National Center for Statistics and Analysis, 
13% of drivers
involved in traffic accidents involving fatal injuries
in 2012
had a blood alcohol concentration of .08 g/dL. Of pedestrians involved in fatal crashes with automobiles, 35%—almost twice the amount—
had at least .08 g/dL BAC. This number does not include injuries incurred from non-vehicle-related situations such as crimes involving others or self-endangering circumstances.



http://www-nrd.nhtsa.dot.gov/Pubs/811394.pdf



Reality of situation

We are interested in a solution that detects stages of drunkenness, and prevents people from walking in traffic, by creating a signal feedback and/or notifying others such as friends or taxi companies via mobile messaging.

Symptoms/Signs:
alcohol breath
alcohol sweat
swaying steps
swayed incline
slurred speech
louder speech
rambling
aggression
glassy/bloodshot and dilated eyes

Dangers:
stumbling, swaying, 
bumping into things, dropping things
trying to navigate through streets, falling, tripping
walking into cars, pits, people, dangerous alleys

Alternatives:
calling/notifying friends
calling/hailing a cab


Sensors

The sensors below all relate to ways of detecting the signs of high alcohol-induced impairment. We have included links to the ones that are available as electric sensors.

breath sensor

rhythm detection (of steps)

sweat odor sensor

sound fluctuation detection

eye dilation detector

blood-alcohol level detector

Nick / Mason ~ Components Part 1


The first situation that we are looking at is something short of a captain obvious machine. The idea behind this would be that  it  would know basic information about our day and then reacts accordingly. A few examples of what this would could do is hand the person an umbrella if it is going to rain. Let them know somebody know that they received a message on a  social platform. When the services that we might look into this IFTTT.com which is a site that could send information about the day to a number of different platforms such as sms or mail.

The main components that would be involved in this are Bluetooth in order to communicate with computer. At this point we’re not sure if we would use a Bluetooth shield or just use one the slave pins both of which are available on Amazon

We would also need some form of Distance Sensor which could react to the users motion. Again available on Amazon

Noble + Gavia // Arduino for Theft Protection

Our idea is based on a fear that we have all experienced before, the fear that your possessions might be stolen while you're off doing something else.  You may be gone only momentarily, you could be in another room, down the hall, or just across the street, but that means you're not in the same location as the possessions that you left behind and they could be stolen without you preventing it or finding out who took them.

Wouldn't it be nice to have some sort of alert or alarm system that could be easily clipped onto your devices/possessions or allow them to rest on top of it? It would be very convenient to have the ability to leave possessions behind if you're to return to them later, but without any way to easily monitor their safety it's too risky to do so.  Things like amusement parks, beaches, camping areas, libraries, classrooms, home, office, and public areas are perfect places where its application might be easily be useful.

So how do you catch thieves when you're not there? We imagine incorporating a few possible sensors and actuators to make it easier to catch a thief.

Below are possible sensors and actuators we could integrate with our Arduino- (* for both possibilities)

Clip-on:

*Motion Sensor: to sense when the object is picked up, grabbed, or moved from a set location

Surprisingly Simple Arduino Motion-Sensing Project Makes For Some Weekend Fun

*Button: initiates protection mode, would need deactivation that the thief couldn't use

*Camera+Flash: uses motion, distance, or change in light to trigger a camera and flash angled at where an approacher might be coming from.  The actual placement of the camera will need to be discussed because bad placement might not get a photo in some cases

How-To: Arduino high speed photography trigger

*Alarm: when the arduino detects that your possessions are stolen it could sound at an alarm, alerting you if you're nearby or your peers that someone is stealing in hopes that they might be able to prevent it or stop the thief

*SMS/Bluetooth: messages or calls you when it detects that your possessions have been touched, moved, or stolen

*Audio/Alert: another way of alerting others other than the alarm, coud use speakers to shout "Thief!" or something that lets people know what might be going on

*Distance Sensor/Ultra Sonic Range Measure: for detecting when someone is at a dangerously close distance to your possessions or for actually setting a distance from the object you want watched and the sensor (if the distance changes it might be being stolen).  Could use the distance sensor to initiate the camera in advance or capture a photo of the thief if they happen to be very fast about their actions


Flat panel to set things on:

Floor Mat Switch: could set objects on top of it, and when it changes switch modes you know something has been stolen

Light Detector: block the light to the sensor when placing an object over it, when the object is moved or stolen more light gets through and you'll be alerted to this change

Force Sensor: same idea as the floor mat switch, change in force means something is up
Flat Force Sensor

Linear Potentiometer: For detecting that an object is on top of it.  Flat and convenient to use, might not be as obvious to a thief and might make it easier to catch them even if they grab both the arduino and your possessions

Oh and maybe an LED or some small component to let you know when the device is armed or not so you don't set it off yourself