challenge
How might we create an aid that allows people with asthma or dust allergies to become more aware of their health condition and better take care of themselves by providing them with information about their surroundings?
Outcome
Particle Taction allows you to become more aware of your surroundings in a non-intrusive way, by providing you with haptic feedback based on the particulate matter in your surrounding environment. The user is able to better manage their health in an inclusive way through the inconspicuous design and functionality of a set of ordinary music headphones. Regardless if you have asthma, are trying to quit smoking or are simply curious about your surroundings, these headphones don’t only give you amazing tunes, but translate the invisible into touch.
Roles
Paper prototyping, UX testing and research, physical computing.
User Experience
Explorative, non-intrusive, haptic, "no UI".
design process
1- Idea: I found the 3M headphones abandoned on the street whilst I was working on visualizing air quality for the same purpose, and saw an opportunity.
2- Research: How do we perceive haptics on the body?
3- Technical Test: Designing the schematics and testing the accuracy of the readings in different contexts.
4- Build: The focus here was rapid prototyping, and I was excited to use only materials at hand to complete this in one set.
5- Design User Test: Personas, storyboards and scenarios.
6 - Recruit: Recruit people with asthma or people that have air sensitivity for a two-part user test. The first part was a direct observation where users would "think out loud". The second part consisted of them taking the product home for over 24 hours and fill in a UX journal after each use.
7- Synthesize data: Synthesize and analyze data, looking for common patterns and categorize into buckets.
8- Conclusion: Conclude results, trends and optimize for next round of testing.
Algorithm
If the value is higher than 225 and lower than 500, give two short vibrations. If the value is higher than 500 (caused by direct smoke) give three shorter vibrations. The LED's where used for easy testing. For more information and source code, please see this tutorial.
int dustPin=0; int dustVal=0; int redVal = 0; int blueVal = 0; int greenVal = 0; int vibration = 12; #define RED 3 #define GREEN 5 #define BLUE 6 int ledPower=2; int delayTime=280; int delayTime2=40; float offTime=9680; void setup(){ Serial.begin(9600); pinMode(GREEN, OUTPUT); pinMode(BLUE, OUTPUT); pinMode(RED, OUTPUT); digitalWrite(GREEN, HIGH); digitalWrite(BLUE, HIGH); digitalWrite(RED, HIGH); pinMode(ledPower,OUTPUT); pinMode(4, OUTPUT); pinMode(vibration, OUTPUT); } void loop(){ digitalWrite(BLUE, 255); digitalWrite(GREEN, 255); digitalWrite(RED, 255); if (dustVal < 224) { digitalWrite(BLUE, 0); delay(1000); } if (dustVal > 225 && dustVal < 500) { digitalWrite(GREEN, LOW); digitalWrite(vibration, HIGH); delay(150); digitalWrite(vibration, LOW); delay(100); digitalWrite(vibration, HIGH); delay(150); digitalWrite(vibration, LOW); delay(10000); } if (dustVal > 501) { digitalWrite(RED, 0); digitalWrite(vibration, HIGH); delay(100); digitalWrite(vibration, LOW); delay(50); digitalWrite(vibration, HIGH); delay(100); digitalWrite(vibration, LOW); delay(50); digitalWrite(vibration, HIGH); delay(100); digitalWrite(vibration, LOW); delay(10000); } digitalWrite(ledPower, LOW); // power on the LED delayMicroseconds(delayTime); dustVal=analogRead(dustPin); // read the dust value via pin 5 on the sensor delayMicroseconds(delayTime2); digitalWrite(ledPower,HIGH); // turn the LED off delayMicroseconds(offTime); delay(150); Serial.println(dustVal); }
Reflection
This project was a start to an exploration that I also took part of called SoundSorial, where sound is used instead of haptics for a more explorative, artistic user experience.