A connected gratitude device for divorced or separated partners.

0
Kansha
Olivia Roy - https://youtu.be/Q1lHr4S5U4k
0

Problem Statement:

Divorced couples experience diverse states of emotion. From anger, admittance, hate, love, to appreciation for each other's presence. Each partner has to deal with every emotional state whether they like it or not. If they have kids, there is more need of communication even when they are apart from each other. How do we provide channels of communication for divorced couples that improve their relationship? We decided that gratitude was the answer. 

0

Context:

Inspiration for our project came from many different places. We were firstly inspired by the Japanese tradition of bowing to express thankfulness. We named our project Kansha, the Japanese word for gratitude to reflect this. In addition, we were inspired by gratitude rocks--those rocks with the word gratitude on them that are supposed to remind you to be thankful. We wanted to include the tactile feeling of squeezing or touching a rock in our project. In the IoT space, we were inspired by physical gestures of Daniel Scher's Love Letters. 

Finally we took inspiration from the Modern Love column in the NYTimes:

Shortly after starting my new role, I went back to my therapist and told her: “It’s been a year since we broke up. I thought my dream job and exercise would heal me, but I still think about him every day. What more can I do to let go?”
First, she told me a story about a man she loved in her early 20's, nearly 50 years ago, whom she still thinks about to this day. Then she said: “You’re asking the wrong question. It’s not about getting over and letting go.”
I looked down at my hands and considered how this could possibly be about anything else.
“It’s about honoring what happened,” she said. “You met a person who awoke something in you. A fire ignited. The work is to be grateful. Grateful every day that someone crossed your path and left a mark on you.”

~ “The 12-Hour Goodbye That Started Everything”, Miriam Johnson

0

Storyboard:


0

Industrial Design:

First, we encountered a challenge on projecting the silhouette that clearly represents the person bowing inside the screen. The more detailed it gets, the less clarity it showed. So, we contour sketched the side view of the person on a neutral posture and bowing posture. It worked our perfect as the silhouette perfectly projected the difference in the posture.

Second, the challenge was measuring the distance between the human and the axis. The closer it gets, the other person who is not supposed to show up inside the screen showed up. But, if we made it longer, the human supposed to be on the screen was not perfectly in the middle, but tilted to the side. So, we went over several dimensions starting from 100%, 90%, 80%, to 70%. Trying different dimension and manipulating distance between axis, we finally came up with right size and distance.

Other than the projection screen, most work was dealing with constructing the 'stage' that gratitude rock might sit on, and making a cube shaped space so that the source of light can effectively project the RGB LED.  

0
Aluminum Lining to Facilitate Light
Img 4648
0
Bowing figures attached to the servo motor
Img 4647
0
Initial upright form with projected light behind
42045f47 d9dc 4dca ac68 555e93e11ba7
0
Bowing form with light behind
20214876 35d9 40ac afc8 8f5deadee6df
0
Carving room in the rock for the sensor
Img 4646
0

Coding and Circuitry:

To start our coding process, we used the source code that Daragh gave us that enables two Particle Photons to subscribe and publish events. Once we were able to get the two Photons talking to each other, we could start adding components to our circuits and having them trigger events.

We used two capacitive touch sensor to be the input for our connected devices. When the sensor were touched, each photon would publish an event. One thing that we struggled with was only publishing an event when the sensor was first touched, and not bombarding the Photon with published events. We solved this with the help of Daragh by creating a simple boolean variable that determined whether or not opposite servo should move.

One thing that we struggled with was the movement of the servos. When our servos were wired normally, they kept getting too hot and not moving when we told them to. We added a capacitor (100 microFarads) into the circuit to prevent the servo from potentially getting too much current, but this didn't solve our problem totally.

0

Bill of Materials:

  • Breadboard x 2
  • Particle Photon x 2
  • Servo Motor x 2
  • Capacitive Touch Sensor x 2
  • RGB LED x 2
  • 1K Resistor x 6
  • 10K Resistor x 2
  • C1 Capacitor x 2
  • Foam Board
  • Carving Foam
  • Cardstock Paper
  • Colored Semi-Transparent Paper
  • Aluminum foil
  • Wool Fabric
0

Fritzing Final Circuitboard:

  

0

Final Code:

0
/*
 * Project Kansha
 * Description: A device to show gratitude over long distances.
 * Author: Woo Kim, Anna Lawn, Olivia Roy, Corey Williams
 * Date: 2/13/2018
 */

long lastPublishedAt = 0; // This value will store the last time we published an event
int publishAfter = 10000; // this is the time delay before we should publish a new event

//Assign global variables.
int redPin = D1;
int greenPin = D2;
int bluePin = D3;
int redValue = 255;
int greenValue = 255;
int blueValue = 255;

int capPin = D4;
int servoPin = A4;
int capReading = 0;
Servo servo;
bool shouldGesture = false;


 void setup() {

   Serial.begin(9600);
   //Particle.function("servoControl", servoControl);

   Particle.subscribe(  "diot/2018/paired/kansha" , handleSharedEvent ); //Subscribe to event for Kansha project.
   servo.attach(servoPin); //Attach servo motor.
   servo.write(2); //Move servo to starting position.
   //Assign output pins.
   pinMode (redPin, OUTPUT);
   pinMode (greenPin, OUTPUT);
   pinMode (bluePin, OUTPUT);
   //Assign input pins.
   pinMode (capPin, INPUT);
   setRGBColor(0,0,0); //Turn RGB LED on to start.
 }

 void loop() {
   capReading = digitalRead(capPin); //Read if cap touch sensor is activated.

   if (capReading == HIGH) { //Publish event when cap touch sensor is activated.

     publishMyEvent();
   }

   if(shouldGesture == true ){
     kanshaGesture(); //Do this if paired photon publishes event.
     shouldGesture = false;
   }
   delay(100);
 }
 //Function for publishing event without spamming.
 void publishMyEvent() {

   if( lastPublishedAt + publishAfter < millis() ) {

       String eventName = "diot/2018/paired/kansha" + System.deviceID();
       Particle.publish( eventName );
       lastPublishedAt = millis();
   }
 }
 //Create a function to act when an event is published by paired photon, and not by this photon.
 void handleSharedEvent(const char *event, const char *data)
 {
     String eventName = String( event ); // Convert to a string object.
     String deviceID = System.deviceID();
     if( eventName.indexOf( deviceID ) != -1 ){ //Don't do anything if the event was published by this device.
       shouldGesture = true;
       return;
     }
     kanshaGesture();
     Serial.println("here");
 }

//Set RGB color.
void setRGBColor( int r, int g, int b ){

  redValue = r;
  greenValue = g;
  blueValue = b;
  analogWrite(redPin, 255 - redValue);
  analogWrite(greenPin, 255 - greenValue);
  analogWrite(bluePin, 255 - blueValue);
}
//Create a function to turn on lights and move servo motor for Kansha gesture.
void kanshaGesture() {

  setRGBColor(255,255,255);
  delay(2000);
  servo.write(52);
  delay(5000);
  servo.write(2);
  delay(2000);
  setRGBColor(0,0,0);
}
Click to Expand
0

Reflections:

Overall, we felt that we worked diligently and consistently as a group. We delegated tasks well and each person in the group brought relevant insights and skills through the process, from ideation to execution. 

The most difficult aspect of this project was troubleshooting the servos and their connection to the code and sensors. The sensors were quite responsive and consistent, but the servos burned out, overheated, and generally had a mind of their own. Also, soldering the connections to the sensors was difficult with the soldering irons we have access to in the studio. 

Thinking about our final project, we feel that the concept behind the project is strong, connecting a target group of people that are not usually considered by product designers: divorced couples, possibly with children. This group is also at significant risk for communication issues and emotional frustrations that, if not mitigated, may impact the children that they co-parent. In the ideation process, we deeply considered the emotions of the potential users and considered how our product could facilitate both good and bad communication. We considered a device to share feelings of many kinds, like happiness, frustration, love, anger, and gratitude, but we wanted to make sure that our device was not harmful to a relationship. We felt that gratitude could be conveyed and appreciated, even after a relationship has reached its end. 

We believe that with further iterations, the physical design of the device could be more dynamic, an object that inspires and encourages gratitude. We love the general desktop size of the device, but would consider a more formally interesting housing for future iterations. 

x
Share this Project

Courses

49713 Designing for the Internet of Things

· 25 members

A hands-on introductory course exploring the Internet of Things and connected product experiences.


Focused on
About

A connected gratitude device for divorced or separated partners.

Created

February 14th, 2018