DOWNLOAD YOUR EMOTIONS is a critical design project depicting a girl who has become emotionally numb retrieving her saved emotions for  complementing her lack of humanity from a special cloud service, where they have been backupped and stored.

The project is demonstrated through a mixed media installation, with its audience experiencing it through video projection and sound mapped onto a physical face mask and its background wall within the installation space. The piece is an ironic play on a serious problem, aiming to provoke a smile, a nod, a conversation, a thought on the need to stay in touch with our emotions.

 

As humans, we naturally have emotions. We take them for granted. We seldom appreciate how special and important our emotions are. However  living in this modern times, we are becoming hard to be touched and even numb for multiple reasons, such as fast pace, high stress society and ubiquitous technology.

Realizing this potential disaster, rather than making practical solutions through technology, my project tries to use an ironic way to reveal our predicament, so as to keep us staying alert to a future catastrophe. 

There are 7 emotions I try to express. They are happiness, sadness, fear, surprise, anger, disgust, and numbness. I use LED strips to metaphor downloading emotions from the special cloud.

It is my MFA thesis project. There is a process paper can be checked at,

https://app.box.com/s/9hs4ayizfv70j3wr0l8porvgodathvco

 

 

Shown in BETWEEN SPACES @ New York City

http://mfadt.parsons.edu/2016/

 

During the Show

 

 

Shown in THE BUSHWICK COLLECTIVE ANNUAL SHOW 2016 @Brooklyn, NYC

www.thebushwickcollective.com  

@ Some warehouse in Brooklyn. (198 Randolph St, Brooklyn, NY)

 

The Block Party of THE BUSHWICK COLLECTIVE ANNUAL SHOW 2016

That's a good ending for me @NYC. I've lived in this neighborhood for 2 years since I came to the U.S. After this show, I officially moved to San Francisco, California. Through 2 years study in Parsons I got a lot. But most important, I got my son. He was born in Bushwick (Wyckoff Height Medical Center which is one of the sponsors for the show), To me, being part of this show meant a lot. 

 

 

 

DOCUMENTATION

Conceptualization and Design

At the very beginning, my concept is a future raincoat for cyborgs to regain their emotions and humanity who live in the 2050’s. It's a story that is narrated by physical objects and projection mapping. 

But as the story is not touching and the concept is over heavy. I realised it is not what I desire to create. I gave it up and dramatically came up the new idea. 

At the beginning, the concept is Bakcup Your Emotions. There is a quick design and prototype.

Then I wanted to figure out a more creative form. So I projected it at a corner on the wall. However, I found I needed a new design for manipulating the space. 

I made a quick design for mapping the corner. The cube metaphors the core of cloud service. After that, I made an iteration plan for mapping the manipulating the corner. 

But I found I was limited by the form and I could hardly express myself. So I decied to go back to my previous direction and had a further exploration.

Fabrication

I used Arduino to control the LED strips.

Fast prototype.

Fabricating the physical mask.

Final prototype before the show.

Technology

I use Max/MSP/Jitter to control every components. Arduino controls the LED to turn on/off. And the meanwhile it also sends signals to Max to trigger the video for projection mapping.

#include

#ifdef AVR

#include

#endif

//#define PIN 6

Adafruit_NeoPixel strip_a = Adafruit_NeoPixel(30, 6, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip_b = Adafruit_NeoPixel(30, 3, NEO_GRB + NEO_KHZ800);

void setup() {
strip_a.begin();
strip_a.show(); // Initialize all pixels to 'off'
strip_b.begin();
strip_b.show(); // Initialize all pixels to 'off'
Serial.begin(9600);
}

void loop() {
rainbowCycle(1);
colorWipe(strip_a.Color(0, 0, 0), 10);
colorWipe(strip_b.Color(0, 0, 0), 10);

//restart the video
Serial.print(0,DEC);
Serial.print("\r");

//play the video
Serial.print(1,DEC);
Serial.print("\r");

//loop1
delay(22000);
colorWipe(strip_a.Color(155, 155, 155), 10);
colorWipe(strip_b.Color(155, 155, 155), 10);
rainbowCycle(1);
colorWipe(strip_a.Color(0, 0, 0), 10);
colorWipe(strip_b.Color(0, 0, 0), 10);

//loop2
delay(20000);
colorWipe(strip_a.Color(155, 155, 155), 10);
colorWipe(strip_b.Color(155, 155, 155), 10);
rainbowCycle(1);
colorWipe(strip_a.Color(0, 0, 0), 10);
colorWipe(strip_b.Color(0, 0, 0), 10);

//loop3
delay(20000);
colorWipe(strip_a.Color(155, 155, 155), 10);
colorWipe(strip_b.Color(155, 155, 155), 10);

}

void rainbowCycle(uint8_t wait) {
uint16_t i, j;

for(j=0; j<25654; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip_a.numPixels(); i++) {
strip_a.setPixelColor(i, Wheel(((i
256 / strip_a.numPixels()) + j) & 255));
strip_b.setPixelColor(i, Wheel(((i * 256 / strip_a.numPixels()) + j) & 255));
}

strip_a.show();
strip_b.show();
delay(wait);

}
}

void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<100; i++) {
strip_a.setPixelColor(100-i, c);
strip_b.setPixelColor(100-i, c);
strip_a.show();
strip_b.show();
delay(wait);
}
}

uint32_t Wheel(byte WheelPos) {
WheelPos = 255 - WheelPos;
if(WheelPos < 85) {
return strip_a.Color(255 - WheelPos 3, 0, WheelPos 3);

}
if(WheelPos < 170) {
WheelPos -= 85;
return strip_a.Color(0, WheelPos 3, 255 - WheelPos 3);

}
WheelPos -= 170;
return strip_a.Color(WheelPos 3, 255 - WheelPos 3, 0);

}