Interactive Garment Design - Abanfando

Technical Prototype
 
Our goal in this interactive wearable is to reflect and extend the internal struggle an individual feels when they’re being verbally abused. The garment will make both the victim and the abuser see the effect. For example: when someone is being verbally abused they will run into different kinds of emotions. one of which is anger. When an individual becomes angry, they experience some form of  physiological sign and they differ from one person to another. However, anger is usually coupled with internal reactions such as an increase in the heartbeat and the breathing becomes shallow. It's much like the fight-or-flight response; where the body is preparing for a fight against what has been committed against the person.

 
Since we’re focusing on the effect of verbal abuse on a person, we thought of using a volume sensor that would detect high sounds and the dress would react to it. However, high sounds are not necessarily abusive words. Thus, we decided to scrap that idea and focus on the emotions of the person being abused and to reflect that on the dress. Furthermore, as for detecting the shallowness of the breathing and reflecting it on the dress, we wanted to use a conductive rubber band that would detect the rib cage movement when the user is breathing. However, because when a person breathes their rib cage doesn't contract and expand in a large range and the sensitivity of the rubber band is not accurate. Thus, using the conductive rubber band was not a successful approach for detecting breathing.
 
We decided to reflect the increase of the individual’s breathing via contracting and expanding an origami shape attached to the dress. This will illustrate how abuse can affect the person internally. Also, based on the user’s heartbeat rate LEDs will light up in a different pattern. These two different inputs and the outputs are explained in detail in the programming and circuit section.
Programming and Circuit
 
Mechanism 1: Contraction
 
Sensor: Microphone Amplifier
Detection: Airflow on the microphone when breathing.
Input: Airflow noise which comes from the user mouth when breathing.
Output: The value read from the microphone will control the rotation of a servo motor. The volume detected will determine rotation angle and speed of the servo motor. Bigger volume gives bigger rotation angle and constant speed. Smaller volume gives smaller rotation angle and rapid speed.
Technical Diagram:
Mechanism 2: Lighting
 
Sensor: Pulse sensor.
Detection: heart pulse.
Input & computing: record each pulse from the sensor and compute BPM (beats per minute) from the raw data.
Output: based on the BPM, LEDs will have three different phases based on the different heart beat rate/speed.
Phase1: LEDs grow and dim with slow speed=Normal heartbeat rate.
Phase2: LEDs grow and dim with fast speed= Medium Heartbeat rate.
Phase3: LEDs lights up randomly with a inconsistent rhythm= Fast heartbeat rate.
Technical Diagram:
Code
 
int analogPin = 4;     
int DC_OFFSET = 0;
int val = 0;    
boolean soundRead = true;
#include <Servo.h>
Servo myservo; 
int pos = 0;
int timer_servo = 0;
int i = 0;
void setup()
{
  Serial.begin(9600);          //  setup serial
}


void loop() {
  
  //myservo.detach();
  if (soundRead) {
    val = analogRead(analogPin);   
    val = abs(val - 512 - DC_OFFSET);
  } else {
    val = 300;
  }
  
  Serial.println(val);
  //Serial.print(" ");
  //Serial.println(soundRead);
  
 if (val > 250){
   //start spinning 
   myservo.attach(10);
   for(int i=0; i<10000; i++){
   //spin with this random int
   myservo.write(10);
    }
   //stop the freaking spin
   myservo.detach();
   //wait for 500 ms
   //delay(300);
   
   //repreat the spin
   myservo.attach(10);
   for(int i=0; i<10000; i++){
   //spin for 170 to go backward
   myservo.write(170);
    }
   myservo.detach();
   //delay(300);   
 }
 
 if(val < 250){
   //start spinning 
   myservo.attach(10);
   //spin for 1000 ms    
   if(i<=40){
     i++;
   //for(int i=0; i<15000; i++){
   //spin with this random int
     myservo.write(20);
     delay(30);
   }
   //stop the freaking spin
  // myservo.detach();
   //wait for 500 ms
   
   
   //repreat the spin
   //myservo.attach(10);
   //spin for 1000 ms    
   if(i > 40 && i <= 80){
   //spin for 170 to go backward
     i++;
     myservo.write(170);
     delay(30);
   }
   myservo.detach();
   if(i > 80){
     i = 0;
   }
 }
}
 
Interactive Garment Design - Abanfando
Published:

Interactive Garment Design - Abanfando

Design an interactive wearable to reflect and extend the internal struggle an individual feels when they’re being verbally abused. Because verbal Read More

Published: