Breathe 3.0 is the third iteration of the Breathe Project.
The Breathe Project is focused on creating awareness of our own breath and the breath of others as a way of reminding and being reminded of the delicacy and life force of each other and of ourselves.
Check out the Presentation
Watch Hilary Breathe
Here is the code:
/*
Circuit for Breathe 3.0 Scarf and Wearable Art
Analog input, serial and analog output
Reads an analog input pin from potentiometer (tempurature sensor), prints the results on a
serial monitor and initiates glow sequence in LEDs if required.
The circuit:
Potentiometer connected to analog pin 0.
Centre pin of the potentiometer connects to the analog pin and the side pin goes to ground.
LEDs connected to pins 5, 6, 9, and 10
Sections of code have been modified from works by David Cuartielles and H. Barragan, with
additions from Hilary Hayes Wilson and Kate Hartman, December 2009.
*/
int ledPin1 = 10; // LED connected to digital pin 10
int ledPin2 = 9; // LED connected to digital pin 9
int ledPin3 = 6; // LED connected to digital pin 6
int ledPin4 = 5; // LED connected to digital pin 5
int sensorValue; // variable to store the value coming from the sensor
int sensorPin = 0; // light sensor is connected to analog pin 0
int analogValue; // current value
int oldAnalogValue; // previous value
void setup() {
pinMode(ledPin1, OUTPUT); // sets the ledPin to be an output
pinMode(ledPin2, OUTPUT); // sets the ledPin to be an output
pinMode(ledPin3, OUTPUT); // sets the ledPin to be an output
pinMode(ledPin4, OUTPUT); // sets the ledPin to be an output
Serial.begin(9600); //initialize the serial port
}
void loop() {
int analogValue = analogRead(0); // read the analog input into a variable:
Serial.print(“Current value: “); // print the result:
Serial.print(analogValue);
Serial.print(“, Old value: “);
Serial.println(oldAnalogValue);
delay(100); // wait 200 milliseconds for the analog-to-digital converter to settle after the last reading:
if (analogValue >= oldAnalogValue+2) { // if analogValue is greater than or equal to oldAnalogValue plus 2 points
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) { // fade in from min to max in increments of 5 points
analogWrite(ledPin1, fadeValue); // sets the value (range from 0 to 255)
analogWrite(ledPin2, fadeValue); // sets the value (range from 0 to 255)
analogWrite(ledPin3, fadeValue); // sets the value (range from 0 to 255)
analogWrite(ledPin4, fadeValue); // sets the value (range from 0 to 255)
delay(30); // wait for 30 milliseconds to see the dimming effect
}
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) { // fade out from max to min in increments of 5 points
analogWrite(ledPin1, fadeValue); // sets the value (range from 0 to 255)
analogWrite(ledPin1, fadeValue); // sets the value (range from 0 to 255)
analogWrite(ledPin3, fadeValue); // sets the value (range from 0 to 255)
analogWrite(ledPin4, fadeValue); // sets the value (range from 0 to 255)
delay(30); // wait for 30 milliseconds to see the dimming effect
}
}
else {
analogWrite(ledPin1, 0);
analogWrite(ledPin2, 0);
analogWrite(ledPin3, 0);
analogWrite(ledPin4, 0);
}
oldAnalogValue = analogValue;
}
HH



Night Headz is a fun and practical animated LED hat created for children to wear, and parents to be aware.
The concept of this product is to allow children more playtime outdoors (which is healthy, fun and a great way for kids to enjoy their childhood).
When it gets dark (and we know that this happens WAY too early here, even in the summer) many parents become very paranoid of allowing their children to play outdoors even while they are supervising them. In the dark, losing your child is easy and fright
ening.
The Night Headz hat is a hat that when turned on, plays a light sequence loop, making it a fun item for children to wear, while simultaneously
allowing for easy visibility at night. Parents can now take their children to the playground and not worry about keeping a good eye on them even from a distance. Furthermore, this hat gives kids a good reason to actually willingly put on their hats when it’s chilly, as well as creates room for new futuristic game
s that children can play with eachother using Night Headz.
For more information and process details, please chick on the link below to view the Night Headz Powerpoint presentation:
night-headz-websmallest
Ok, here’s a video of the EMF Hat in action.
Funnily enough, it worked immediately after I
got back home — I had thought it was a loose
connection, but that didn’t seem to be the case.
It’d be interesting to figure out why — I doubt
the OCAD premises are EMF-free!
Video:
http://www.kenleung.ca/ocad/wearables/emfhat/emfhat_video.html
And here’s my final process documentation:
http://www.kenleung.ca/ocad/wearables/emfhat/EMFHat_ProcessDoc_KenLeung.pdf
Here is the Presentation in PDF format:
http://webspace.ocad.ca/~rc09mi/Personal_Soundtrack_Glove.pdf
The Personal Soundtrack Glove is an object that brings the emotional impact of music into the gestures of everyday life. Everyday hand gestures that occur when taking or moving triggers short music clips to play as if the wearer were a character in a movie. For example if one were to strike a John Travolta-ish Disco post (pointing finger upwards) it triggers “Disco Inferno” sound clip to play. The Glove currently recognizes 6 gestural postures.
Gesture 1: “Disco Inferno”
Gesture 2: “Unchained Melody”
Gesture 3: “Macho Man” etc.
The Final Iteration of the Glove appears like this:


The aesthetic is a 1950’s-ish Sci-Fi meets 70’s Disco look, I feel is consistent with the over-the-top nature of this wearable.
The (internal) flex sensors read the gesture and feeds in into this sketch:
/*
Prototype Inner Dialogue v.2
Robert Chen GDES 3B16 Wearable Technologies Final Project
November 30 Prof: K. Hartman
Flex sensors have replaced the combination of accelrometer and finger and thumb contact
switches due to complexity of the data sorting and logical structure of the sketch.
Multi-positional and moving gestures are not covered in this iteration as they require more
memory and a more advanced storage system for a larger response library and more complex responses.
The circuit:
analog 0: Thumb Flex sensor
analog 1: Index Finger sensor
analog 2: Middle Finger sensor
analog 3: Ring Finger sensor
analog 4: Pinky Finger sensor
digital : Response Gesture 1 Finger point Disco style
digtial : Response Gesture 2 finger point w/ thumb
digital : Response Gesture 3 Thumbs Up
digital : Response Gesture 4 Hasng Loose
digital : Response Gesture 5 OK sign
digital : Response Gesture 6 Closed Fist
created 27 Nov 2009
by Robert Chen
*/
// Define analog input locations
const int tPin = 0; // analog input
const int iPin = 1; // analog input
const int mPin = 2; // analog input
const int rPin = 3; // analog input
const int pPin = 4; // analog input
// Response activation
int r1 = 5; // Digital Switch for Reposnse 1
int r2 = 6; // Digital Switch for Response 2
int r3 = 8; // Digital Switch for Response 3
int r4 = 10; // Digatal Switch for Response 4
int r5 = 12; // Digital Switch for Response 5
int r6 = 11; // Digital Switch for Response 6
int ledPin = 13; // set digital pin 13 as led test indicator
// Storage analog sensor values
int Thumb = 0; // store value for thumb sensor
int Index = 0; // store value for index sensor
int Middle = 0; // store value for middle sensor
int Ring = 0; // store value for ring sensor
int Pinky = 0; //store value for pinky sensor
// Conditional values to indicate flex
int fr1 = 610; // set min value for flex thumb
int fr2 = 750; // set min value for flex index
int fr3 = 690; // set min value for flex middle
int fr4 = 690; // set min value for flex ring
int fr5 = 690; // set min value for flex pinky
void setup()
{
// init serial communications for diag and data check:
Serial.begin(9600); // init serial port
// Set up digital controls
pinMode(ledPin, OUTPUT); // sets the ledPin to be output
pinMode(r1, OUTPUT); // sets r1 to act as switch to turn on sound module 1
pinMode(r2, OUTPUT); // sets r2 to act as switch to turn on sound module 2
pinMode(r3, OUTPUT); // sets r3 to act as switch to turn on sound module 3
pinMode(r4, OUTPUT); // sets r4 to act as switch to turn on sound module 4
pinMode(r5, OUTPUT); // sets r5 to act as switch to turn on sound module 5
pinMode(r6, OUTPUT); // sets r6 to act as switch to turn on sound mudule 6
digitalWrite(ledPin, LOW); // Turn LED off
digitalWrite(r1, LOW); // Turn off sound module
digitalWrite(r2, LOW); // Turn off sound module
digitalWrite(r3, LOW); // Turn off sound module
digitalWrite(r4, LOW); // Turn off sound module
digitalWrite(r5, LOW); // Turn off sound module
digitalWrite(r6, LOW); // Turn off sound module
// set up analog sensors
pinMode(tPin, INPUT); // sets a0 as flex sensor input
pinMode(iPin, INPUT); // sets a1 as flex sensor input
pinMode(mPin, INPUT); // sets a2 as flex sensor input
pinMode(rPin, INPUT); // sets a3 as flex sensor input
pinMode(pPin, INPUT); // sets a4 as flex sensor input
}
void loop()
{
/*
Data to Serial Monitor for sketching
// print the sensor values:
Serial.print(analogRead(tPin));
// print a tab between values:
Serial.print(“\t”);
Serial.print(analogRead(iPin));
// print a tab between values:
Serial.print(“\t”);
Serial.print(analogRead(mPin));
// print a tab between values:
Serial.print(“\t”);
Serial.print(analogRead(rPin));
// print a tab between values:
Serial.print(“\t”);
Serial.print(analogRead(pPin));
Serial.println();
// delay before next reading:
delay(100);
*/
Thumb = analogRead(tPin);
Index = analogRead(iPin);
Middle = analogRead(mPin);
Ring = analogRead(rPin);
Pinky = analogRead(pPin);
// Logic
if ((Thumb > fr1) && (Index < fr2) && (Middle > fr3) && (Ring > fr4) && (Pinky > fr5))
{
digitalWrite(r1, HIGH); // Turn on sound module 1
digitalWrite(ledPin, HIGH); // Diag
Serial.println(“Disco”);
delay (17000); // Keep switch on to play entire
digitalWrite(ledPin,LOW); // Diag off
digitalWrite(r1,LOW); // Module off
}
else if ((Thumb < fr1) && (Index < fr2) && (Middle > fr3) && (Ring > fr4) && (Pinky > fr5))
{
digitalWrite(r2, HIGH); // Turn on sound module 2
digitalWrite(ledPin, HIGH); // Diag
Serial.println(“Unchained”);
delay (27000); // Keep switch on to play entire
digitalWrite(ledPin,LOW); // Diag off
digitalWrite(r2,LOW); // Module off
}
else if ((Thumb < fr1) && (Index > fr2) && (Middle > fr3) && (Ring > fr4) && (Pinky > fr5))
{
digitalWrite(r3, HIGH); // Turn on sound module 3
digitalWrite(ledPin, HIGH); // Diag
Serial.println(“Macho Man”);
delay (27000); // Keep switch on to play entire
digitalWrite(ledPin,LOW); // Diag off
digitalWrite(r3,LOW); // Module off
}
else if ((Thumb < fr1) && (Index > fr2) && (Middle > fr3) && (Ring > fr4) && (Pinky < fr5))
{
digitalWrite(r4, HIGH); // Turn on sound module 4
digitalWrite(ledPin,HIGH); // Diag
Serial.println(“Thanks”);
delay (11000); // Keep switch on to play entire
digitalWrite(ledPin,LOW); // Diag off
digitalWrite(r4,LOW); // Module off
}
else if ((Thumb > fr1) && (Index > fr2) && (Middle > fr3) && (Ring < fr4) && (Pinky < fr5))
{
digitalWrite(r5,HIGH); // Turn on sound module 5
digitalWrite(ledPin,HIGH); // Diag
Serial.println(“Unbelive”);
delay (24000); // Keep switch on to play entire
digitalWrite(ledPin,LOW); // Diag off
digitalWrite(r5,LOW); // Module off
}
else if ((Thumb > fr1) && (Index > fr2) && (Middle > fr3) && (Ring > fr4) && (Pinky > fr5))
{
digitalWrite(r6, HIGH); // Turn on sound module 3
digitalWrite(ledPin, HIGH); // Diag
Serial.println(“We are the Champs”);
delay (24000); // Keep switch on to play entire
digitalWrite(ledPin,LOW); // Diag off
digitalWrite(r6,LOW); // Module off
}
else {
Serial.println(“Nope”);
digitalWrite(ledPin,LOW);
delay(1000);
}
}
Note the in-bedded Diagnostic coding for serial monitor output: vital to trouble shoot where an issue may come from.
See In Process Final for parts, module descriptions, datalog and physical build.

The EMF Sniffing Hat project seeks to create greater awareness, for users, of the pervasiveness of EMF (electromagnetic frequency) radiation in their environments.
The hat is whimsical in form and behavior — it resembles a large-eyed creature with a long proboscis (containing the EMF sensor), and sings a series of musical beeps, whose tone corresponds to the intensity of EMF in the surrounding area. By employing a humorous aesthetic and interaction, it is intended that the user’s relationship with the
hat be one of curious exploration and engagement, rather than fear and anxiety (which the topic of EMF normally evokes).
Presentation PDF can be downloaded here:
http://www.kenleung.ca/ocad/wearables/emfhat/KenLeung_EMFHat.pdf
Hey guys,
Final project, Great class and learned some fun things. I’m pleased with this final and the results. Who knows i might continue and see how far i can go, maybe concepts on glove design.
Background Information
The importance of Speed
Interview the Daryl Mack credentials – Boxing for 10 years, Three time gold medal winner all ontario, Going professional next year.
“Speed is vial to generate power”
” You can’t apply what you learned if you’re too slow”
“You can train to hamper your individuals speed”
Concept -Quantifying Combat Training
Use accelerometer to quantify data. Data can be used to track progress through time as well as provide real-time data that can allow on site adjustments to technique.
Materials
Nike Pro Compression shirt – Sits close to skin so accelerometer only reads data from movement of arms
Lilypad accelerometer – placed on right sleeve of shirt
Lily Pad arduino – Microprocessor to inter prate data
USB wire – connected directly to PC to give real-time information from sensor
82 ohm connective thread.
Code for arduino
void setup() {
// initialize the serial communication:
Serial.begin(9600);
}
void loop() {
// send the value of analog input 0:
Serial.println(analogRead(0));
// wait a bit for the analog-to-digital converter
// to stabilize after the last reading:
Information was processed with “Processing” which takes the data from the Arduino Lily pad and graphs the data. Code provided below
Processing Code
import processing.serial.*;
Serial myPort; // The serial port
int xPos = 1; // horizontal position of the graph
void setup () {
// set the window size:
size(800, 600);
// List all the available serial ports
println(Serial.list());
// I know that the first port in the serial list on my mac
// is always my Arduino, so I open Serial.list()[0].
// Open whatever port is the one you’re using.
myPort = new Serial(this, Serial.list()[1], 9600);
// don’t generate a serialEvent() unless you get a newline character:
myPort.bufferUntil(‘\n’);
// set inital background:
background(0);
}
void draw () {
// everything happens in the serialEvent()
}
void serialEvent (Serial myPort) {
// get the ASCII string:
String inString = myPort.readStringUntil(‘\n’);
if (inString != null) {
// trim off any whitespace:
inString = trim(inString);
// convert to an int and map to the screen height:
float inByte = float(inString);
inByte = map(inByte, 0, 1023, 0, height);
// draw the line:
stroke(127,34,255);
line(xPos, height, xPos, height – inByte);
// at the edge of the screen, go back to the beginning:
if (xPos >= width) {
xPos = 0;
background(0);
}
else {
// increment the horizontal position:
xPos++;
}
}
}
- Code was provided by Tom Igoe
Next step
Data logging – Eliminates wires and makes post processing possible
Tracking both hands – Hand speed can differ from fighting stance, tracking differences is important
Tracking power – Power = mass x velocity. Potential for tracking power over time as well
Compression sleeves – Acts as a more natural medium for combat training.
Images
I am not sure how to post the movie, anyway have a great holiday
Jason
I am interested in dresses which made with led lights to create pattern, colours and texture.
So I tried to make my own colours by using white led light and different colour fabrics. Then I designed my fabric pattern and colours inspired by sun rays that I think much related image with light.
The skirt made with seven LEDs and two switches. Each switch connected with different colour (red or yellow) and created a dotted-line from back to front and bottom to top on the left side of the skirt.




Concept
In times of essay writing, preparing for final projects, assignments and studying for exams, stress and anxiety seems to overwhelm us. And with the anxiety and stress I tend to clench my teeth, which isn’t very good for the teeth and jaw muscles.
So for my wearable technology, I’ve decided to create something that brings a personal awareness and alerts the user when they clench my teeth during a stressful session of studying.


Section of Mouth Guard (clear) with Pressure Sensor Switch (black)

Vibration Motor.

3V Lithium Cell and Battery Pouch.
How It Works
The switch on the mouth guard is placed on the lower molars. When teeth are clenched, the pressure sensor switch triggers the vibrations motor around the neck area to vibrate. This alerts the person that they are clenching their teeth.
My presentation slides
http://webspace.ocad.ca/~tl06cr/Clench-orometer.pdf
The Final Presentation Slides:
http://webspace.ocad.ca/~hc05sm/iris_the_perfect_couple_rings
Brief:
The marriage only works out if the two supports each other. Male as a power, and female as a light, they help each other to be better. The rings are useless if they are separate; they need to be together and become one to light up.
Made with Rapid Prototyping Plastic, Sterling SIlver, 2 button batteries, 1 white LED.
Different ways of holding hands:


