Monday, January 26, 2009

Week 3 - Sketch One Optic Blast




For this week our team have decided on to creating a optic visor which is suppose to relate to the visual impaired.

At first the idea was more of a children's toy to relate to X-Men, Cyclops's optic visor. Where it can simulate the character's attacks. However, it doesn't seem to possess any sort of purpose other than being a children's toy or a cosplay prop.

Back to the visually impaired relation, a possible direction to take this is to use this as a communication tool for the visually impaired. Similar to a white cane, it can be used to identity those who are blind or legally blind, perhaps give signals to them to help them around their environment.

The original attempt at this idea was to use infrared proximity sensors to identify objects around the user, and by using the strength of the light to judge whether the object is close or not. However do to technical issues, our team was unable to do that. Also only those who are legally blind (not completely blind) can use this optic visor as the user will still need his/her perception of light.

Instead we're going to use this optic visor to help communicate to the outside world. The user will be a visually impaired to person. The maximum level of blindness is "unable to see, but still can sense light intensity".
It will feature the following:
1. Identify day and night..., as a blind person, you are unable to tell whether or not people can see you, thus, by using a light sensor, when the surrounding become dark, the LED will constantly emit light, thus allowing others to see you.
2. Communicate by Morse code: On the side of the visor will be at least 2 buttons which causes the LED on the visor to blink. The long blinks are lines, and the short blinks are dots. The most unique way for this to work is that the blind person is trying to communicate with a deaf person.

3. This feature is currently unclear, but it will have something to do with acknowledgment.


here are some of the concept work;



Tuesday, January 20, 2009

Week 2 - Circuitry and Conductive Material

This week we had a review on the circuitry of Arduino and digital input.
The digital input we had was a push button, where in the example code if we pushed the button the LED will light up and when we released the button, it turns off.

From that we were suppose to edit the code so that there are different modes for the lights to turn on. Our team's code gave the LED 3 different modes. OFF, Blinking, and ON.
The code is as follows:

int ledPin = 13; // choose the pin for the LED
int inputPin = 2; // choose the input pin (for a pushbutton)
int val = 0; // variable for reading the pin status
int mode = 0;
boolean press;
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare pushbutton as input
}

void loop(){
val = digitalRead(inputPin); // read input value
if (val == HIGH) { // check if the input is HIGH
press = true;
if (mode == 0) {
digitalWrite(ledPin, LOW); // turn LED ON
}

else if (mode == 1) {
digitalWrite(ledPin, LOW); // turn LED ON
delay(500);
digitalWrite(ledPin, HIGH); // turn LED ON
delay(500);

}
else if (mode == 2) {
digitalWrite(ledPin, HIGH); // turn LED OFF
}
}

else {
if (press == true) {
press = false;
digitalWrite(ledPin, LOW); // turn LED ON
mode += 1;
if (mode == 3) {
mode = 0;
}
}
}
}

As for the lab assignment we are trying to make a bracelet using the same concept.
//FASTER BLINKING Mode
//----------------------------
else if (mode == 2) {
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW); // turn LED OFF
delay(200);

}

//2 FAST BLINKS, 3 FASTER BLINKS Mode
//--------------------------------------------
else if (mode == 3) {
digitalWrite(ledPin, HIGH); // turn LED ON
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
digitalWrite(ledPin, HIGH); // turn LED ON
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
digitalWrite(ledPin, HIGH); // turn LED ON
delay(50);
digitalWrite(ledPin, LOW);
delay(50);
digitalWrite(ledPin, HIGH); // turn LED ON
delay(50);
digitalWrite(ledPin, LOW);
delay(50);
digitalWrite(ledPin, HIGH); // turn LED ON
delay(50);
digitalWrite(ledPin, LOW);
delay(50);

}

// "And the screen went
BeepBeepBeepBeepBeepBeep!" Mode
else if (mode == 4) {
digitalWrite(ledPin, HIGH); // turn LED OFF
delay(50);
digitalWrite(ledPin, LOW);
delay(50);
}

(Input IMAGE HERE)

The code remained pretty much the same except for 3 added modes and the LEDs are connected through parallel in Pin 13. Also the LEDs are copper taped onto the felt and a button is sewed in.
However, we do notice that sometimes the connection is weak.



Tuesday, January 13, 2009

Week 1 - Progressing with I/O


During this week in the lab, we were told to combine an input of an certain thing, in my case DIRECTION, to produce a certain output, for me it was FIRE.

Through my brainstorming, I started with an object which had similar quality of input and output. a FLAMETHROWER, or a TORCH, however then I realized that we can take qualities of the output element and manipulate the scenario which uses the element for its qualities.

So then my scenario became a direction controlled heater. The user is in a structure where the human has become the dial to control the heat. If the user were to spin on the spot to the clockwise, the sensors in the room will detect that and increase the heat, and if he were to do it counter clockwise, the heat in the room would reduce.

Later in a different exercise, I teamed up with Zack Bush, who possessed the input of BRAINWAVES, and the output of WIND. Our job was to make a complete system with all the inputs contributing to the output.

We began to brainstorm by doing each one individually and picked out the similarities. By combining the WIND and FIRE, we created air conditioning as the OUTPUT, and by combining BRAINWAVES and DIRECTION, we created a locator which detects human comfort. Our whole system was suppose to be in a room rigged with brainwave sensors, motion sensors and air circulation system. Depending on where you are and what your brainwave emits, warm air or cool air may blast towards your direction.

After that was done, we tested out Arduino, by lighting up and programming the blinking of LEDs and that was the end of the lab.

-THOMAS