// Angry Messages \\

Made by Chelsie Corbett, Linyi Zhou and hanyuan1

Found in DIoT 2018 3: Connected Intimacy

  • Iot_ Angry Messages

Angry Messages enables a physical and visceral style of communication when a long distance relationship calls for more than words can express.

0

Concept and Goal: In a long distance relationship, interaction suffers.  Our goal was to enable users to communicate their emotions in a visceral way by introducing an object that would mirror or support the way that the user was feeling.  When a user aggressively fires the slingshot, an angry text message is sent to their lover.  A small, flirty sling has a different meaning; seeking a lover's attention.  

0
Iot_ Angry Messages
Chelsie Corbett - https://vimeo.com/255906203
0

Inspiration: Across long distances, there isn't an easy way to get the attention of your loved one.   Flirting and expressing a unique array of emotions that aren't well expressed by words is difficult in a long distance relationship, and we want to enable couples to get each other's attention.  We are using a slingshot to express a negative emotion, because we thought it would be interesting to introduce a cathartic element to allow the user to interact with their emotion.  

0

Process: We picked cut wood for the slingshots because we liked the juxtaposition between the smart slingshot and the rough wood.  We didn't want this project to feel at all technical, as that might interfere with intimacy. 

We ran into challenges with the bend sensor.  We originally hoped to have an array of text messages sent, but realized that our sensor was too sensitive.  We could only manage two distinct messages.   We would like to continue exploring the bend senor after this project- it opens up a world of possibilities.

0
0

Outcome:  While the bend sensor is a little fussy, we realized our vision and created a way to sling messages with attitude across long distances.   This new communication style allows lovers to close the void that they might feel by enabling them to interact in a physical way.  


0

Next Steps:  We created a freestanding indicator light to communicate that a message from your lover has been received, but we would like to explore possibilities that would make the object itself react or indicate that a lover has taken an action. We would like to pursue ways of creating output directly on the slingshot- perhaps the handle should light up or the slingshot should vibrate.

We would love to continue this project into the future by designing a set of objects that get their lovers attention, with each being used to express a unique emotion and feeling.   

0

Bill of Materials:

(2x)

-Bend Sensor

-particle, Breadboard, Circuit wires, resistors

-wooden crotch

-rubber band

-Fabric (for slingshot stone hold)

-Opaque paper and tape

0
0
0

Code

0
#include "neopixel.h"
#define PIXEL_COUNT 24  //use a nexpixel with 24 leds
#define PIXEL_PIN D2
#define PIXEL_TYPE WS2812

Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

int i;
int yellowPin = D5;  // use a single-color led
int flexPin = A1;  //use a flex sensor
int state = 0;
int num = 0;
int flex;
int a =1;

void setup(){
  pinMode(yellowPin, OUTPUT);
  pinMode(flexPin, INPUT);
  strip.begin();
  strip.show();
  Particle.function("sendColor", sendColor); //This function is used for testing.
  Particle.subscribe("pairA/has/newMessage", handler);
  Serial.begin(9600);
}


void loop(){
  int flex = analogRead(flexPin);
  //Serial.println(flex);

  //The variable state functions as a trigger to make sure the event will
  //be only be published once when the flex sensor is bent.
  if( flex <= 70 and state == 0){ // When the flex sensor is bent to one direction.
    color = "love";
    Particle.publish("pairA/has/newMessage", color);
    //This event contains the data "love" or rage. Depending on the data, the other person will recive a message from IFTTT.
    Serial.println("love");
    state = 1;
    delay(500);
  }

  if( flex >= 180 and state == 0){ // When the flex sensor is bent to another direction.
    color = "rage";
    Particle.publish("pairA/has/newMessage", color);
    Serial.println("rage");
    state = 1;
    delay(500);
  }

  if( flex > 50 and flex < 180 and state == 1){ // When the flex sensor is bent to another direction.
    state = 0;
    delay(500);
  }

  // int flex = analogRead(flexPin);
  // Serial.println(flex);
  // delay(1000);

}


//When receive a event, comparing the data with "love" or "rage".
void handler( const char * event, const char *data ){
  color = String(data);
  if(color == "love"){ //If data is "love", trigger the nexpixel breathing effect.
    digitalWrite(yellowPin, LOW);
    for(int n=0;n<=200;n+=8){
      for(int i=0;i<PIXEL_COUNT;i++){
        strip.setColorDimmed(i,20*i,10*i,100-i,n);
      }
      strip.show();
      delay(20);
    }

    for(int n=202;n>=2;n-=8){
      for(int i=0;i<PIXEL_COUNT;i++){
        strip.setColorDimmed(i,20*i,10*i,100-i,n);
      }
      strip.show();
      delay(20);
    }
  }

  else if(color == "rage"){  //If data is "rage", turn the led light on.
    for(int i=0;i<PIXEL_COUNT;i++){
      strip.setColorDimmed(i,0,0,0,0);
    }
    strip.show();
    digitalWrite(yellowPin, HIGH);
  }
}
Click to Expand
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
Skills
About

Angry Messages enables a physical and visceral style of communication when a long distance relationship calls for more than words can express.

Created

February 13th, 2018