{"id":497,"date":"2009-05-24T16:03:50","date_gmt":"2009-05-24T21:03:50","guid":{"rendered":"http:\/\/gracefulspoon.com\/blog\/?p=497"},"modified":"2011-05-28T16:46:42","modified_gmt":"2011-05-28T21:46:42","slug":"interactive-elevator-installation","status":"publish","type":"post","link":"http:\/\/gracefulspoon.com\/blog\/2009\/05\/24\/interactive-elevator-installation\/","title":{"rendered":"interactive elevator installation"},"content":{"rendered":"

\"living01\"<\/a>
\nFor our
living architecture course<\/a>, we created an interactive light installation in the elevator of Avery Hall, controllable by anyone with a cell phone and a twitter account. The simplified process includes texting an emotion to twitter from any cellular phone using the #livarch hashtag. That tweet is then picked up by a realtime search<\/a>, fed through our twitterfeed rss<\/a>, then added to our own twitter account<\/a>. For a more detailed explanation, see this previous post on getting multiple twitter users onto one twitter feed<\/a>. That emotion is then directed to our pachube feed<\/a> and sent through processing<\/a> to an arduino microcontroller<\/a> that controls the color and pulsing of the individual leds. The installation non-invasively attaches to the surface of the elevator via magnets. Allowing it to be placed on any metal surface, such as a building exterior, furniture, or a vehicle.<\/p>\n

 <\/div>\n

The lights within the elevator respond to the mood of the user. For instance, if a student texted \u201chappy #livarch\u201d the space within the elevator would begin to slowly pulse with a greenish\/blue hue. However, if another student sent \u201cangry #livarch\u201d the first light will quickly flash a bright red. There are twelve lights total and show the collective mood of the twelve most recent users. <\/p>\n

 <\/div>\n

In this way, the elevator becomes a living representation of the collective mood of the building, but it is also hoped that a feedback loop can be created, a loop that actually influences the mood of those that ride the elevator. The emotion felt in the lobby will be altered by the time you reach the sixth floor. And that new emotion becomes what gets texted back to the elevator.<\/p>\n

 <\/div>\n

Lastly, future installations will be physically located away from the target user. For instance, Avery\u2019s mood will be projected to the elevator in Uris Hall and vice versa. In this manner, we can both create a new form of pen-pal with distant locations, but also hope that our mood, whether angry, sad, happy or nervous, will both manifest itself in a new form of architecture, but also have an effect on the greater world around us.<\/p>\n

 <\/div>\n

The project team also included Talya Jacobs and Guanghong Ou.
\nSee more for video and code:<\/p>\n

 <\/div>\n

\"living02c\"<\/a>
\n
\n
\"living02b\"<\/a><\/p>\n

<\/param><\/param><\/param><\/embed><\/object><\/p>\n

<\/param><\/param><\/param><\/embed><\/object><\/p>\n

<\/param><\/param><\/param><\/embed><\/object><\/p>\n

\"living02\"<\/a><\/p>\n

<\/param><\/param><\/param><\/embed><\/object><\/p>\n

\"living03\"<\/a><\/p>\n

\"living03b\"<\/a><\/p>\n

\"living04\"<\/a><\/p>\n

\"living05\"<\/a><\/p>\n

\"living06\"<\/a><\/p>\n

Super-Long Source Code:<\/strong>
\nThe main thing to remember is in arduino to load the ‘standard firmata’ library and in processing to use the EEML language d.getStringValue(0); to make sure the value of stream id 0 is a word, or string, rather than a numeric value.<\/p>\n

import processing.serial.*;
\nimport cc.arduino.*;<\/p>\n

import eeml.*;<\/p>\n

Serial port; \/\/Create object from Serial class<\/p>\n

Arduino arduino;<\/p>\n

String myValue;<\/p>\n

String Led1Status;
\nString Led2Status;
\nString Led3Status;
\nString Led4Status;
\nString Led5Status;
\nString Led6Status;<\/p>\n

String turnAngry = “angry”;
\nString turnAngryLiv = “angry_#livarch”;<\/p>\n

String turnCalm = “calm”;
\nString turnCalmLiv = “calm_#livarch”;<\/p>\n

String turnRelaxed = “relaxed”;
\nString turnRelaxedLiv = “relaxed_#livarch”;<\/p>\n

String turnNervous = “nervous”;
\nString turnNervousLiv = “nervous_#livarch”;<\/p>\n

String turnHappy = “happy”;
\nString turnHappyLiv = “happy_#livarch”;<\/p>\n

String turnSad = “sad”;
\nString turnSadLiv = “sad_#livarch”;<\/p>\n

DataIn dIn;<\/p>\n

int value = 0;
\nint x = 0;
\n\/\/int waitTime= 30; \/\/ 10ms delay<\/p>\n

int Led1Red = 13;
\nint Led1Green = 2;
\nint Led1Blue = 3;<\/p>\n

int Led2Red = 4;
\nint Led2Green = 5;
\nint Led2Blue = 6;<\/p>\n

int Led3Red = 7;
\nint Led3Green = 8;
\nint Led3Blue = 9;<\/p>\n

int Led4Red = 10;
\nint Led4Green = 11;
\nint Led4Blue = 12;<\/p>\n

int Led5Red = 14;
\nint Led5Green = 15;
\nint Led5Blue = 16;<\/p>\n

int Led6Red = 17;
\nint Led6Green = 18;
\nint Led6Blue = 19;<\/p>\n

void setup()
\n{
\n frameRate(200);<\/p>\n

println(Arduino.list());
\n arduino = new Arduino(this, Arduino.list()[0], 115200);<\/p>\n

dIn = new DataIn(this, “http:\/\/www.pachube.com\/api\/1499.xml”, “fe2ac5cde083af08a353b9862a8d65b4d62caf94a40bfa5e6ea90f82f244f0ac”, 50000);
\n println(Serial.list());<\/p>\n

arduino.pinMode(Led6Red, Arduino.OUTPUT);
\n arduino.pinMode(Led6Green, Arduino.OUTPUT);
\n arduino.pinMode(Led6Blue, Arduino.OUTPUT);
\n}<\/p>\n

void draw(){
\n x += 1;
\n if (x>2){ \/\/Set Time Here
\n x = 0;
\n x+= 1;
\n }<\/p>\n

println(x);
\n if (x == 2) {
\n \/\/if (Led1Status != myValue){
\n Led6Status = Led5Status;
\n Led5Status = Led4Status;
\n Led4Status = Led3Status;
\n Led3Status = Led2Status;
\n Led2Status = Led1Status;
\n Led1Status = myValue;
\n \/\/}
\n }
\n println(“led2Status: ” + Led1Status);
\n println(“led2Status: ” + Led2Status);
\n println(“led3Status: ” + Led3Status);
\n println(“led4Status: ” + Led4Status);
\n println(“led5Status: ” + Led4Status);
\n println(“led6Status: ” + Led4Status);<\/p>\n

\/\/——————–IF\/THEN-LED5————————————————————-<\/p>\n

if((turnAngry.equals(Led5Status)) || (turnAngryLiv.equals(Led5Status))){
\n angry5();
\n }
\n else<\/p>\n

if((turnCalm.equals(Led5Status)) || (turnCalmLiv.equals(Led5Status))){
\n calm5();
\n }
\n else<\/p>\n

if((turnNervous.equals(Led5Status)) || (turnNervousLiv.equals(Led5Status))){
\n nervous5();
\n }
\n else<\/p>\n

if((turnHappy.equals(Led5Status)) || (turnHappyLiv.equals(Led5Status))){
\n happy5();
\n }
\n else<\/p>\n

if((turnSad.equals(Led5Status)) || (turnSadLiv.equals(Led5Status))){
\n sad5();
\n } <\/p>\n

\/\/——————–IF\/THEN-LED4————————————————————-<\/p>\n

if((turnAngry.equals(Led4Status)) || (turnAngryLiv.equals(Led4Status))){
\n angry4();
\n }
\n else<\/p>\n

if((turnCalm.equals(Led4Status)) || (turnCalmLiv.equals(Led4Status))){
\n calm4();
\n }
\n else<\/p>\n

if((turnNervous.equals(Led4Status)) || (turnNervousLiv.equals(Led4Status))){
\n nervous4();
\n }
\n else<\/p>\n

if((turnHappy.equals(Led4Status)) || (turnHappyLiv.equals(Led4Status))){
\n happy4();
\n }
\n else<\/p>\n

if((turnSad.equals(Led4Status)) || (turnSadLiv.equals(Led4Status))){
\n sad4();
\n } <\/p>\n

\/\/——————–IF\/THEN-LED3————————————————————-<\/p>\n

if((turnAngry.equals(Led3Status)) || (turnAngryLiv.equals(Led3Status))){
\n angry3();
\n }
\n else<\/p>\n

if((turnCalm.equals(Led3Status)) || (turnCalmLiv.equals(Led3Status))){
\n calm3();
\n }
\n else<\/p>\n

if((turnNervous.equals(Led3Status)) || (turnNervousLiv.equals(Led3Status))){
\n nervous3();
\n }
\n else<\/p>\n

if((turnHappy.equals(Led3Status)) || (turnHappyLiv.equals(Led3Status))){
\n happy3();
\n }
\n else<\/p>\n

if((turnSad.equals(Led3Status)) || (turnSadLiv.equals(Led3Status))){
\n sad3();
\n } <\/p>\n

\/\/——————–IF\/THEN-LED2————————————————————-<\/p>\n

if((turnAngry.equals(Led2Status)) || (turnAngryLiv.equals(Led2Status))){
\n angry2();
\n }
\n else<\/p>\n

if((turnCalm.equals(Led2Status)) || (turnCalmLiv.equals(Led2Status))){
\n calm2();
\n }
\n else<\/p>\n

if((turnNervous.equals(Led2Status)) || (turnNervousLiv.equals(Led2Status))){
\n nervous2();
\n }
\n else<\/p>\n

if((turnHappy.equals(Led2Status)) || (turnHappyLiv.equals(Led2Status))){
\n happy2();
\n }
\n else<\/p>\n

if((turnSad.equals(Led2Status)) || (turnSadLiv.equals(Led2Status))){
\n sad2();
\n } <\/p>\n

\/\/——————–IF\/THEN-LED1————————————————————-<\/p>\n

if((turnAngry.equals(Led1Status)) || (turnAngryLiv.equals(Led1Status))){
\n angry1();
\n }
\n else<\/p>\n

if((turnCalm.equals(Led1Status)) || (turnCalmLiv.equals(Led1Status))){
\n calm1();
\n }
\n else<\/p>\n

if((turnNervous.equals(Led1Status)) || (turnNervousLiv.equals(Led1Status))){
\n nervous1();
\n }
\n else<\/p>\n

if((turnHappy.equals(Led1Status)) || (turnHappyLiv.equals(Led1Status))){
\n happy1();
\n }
\n else<\/p>\n

if((turnSad.equals(Led1Status)) || (turnSadLiv.equals(Led1Status))){
\n sad1();
\n } <\/p>\n

\/\/——————–IF\/THEN-LED6————————————————————-<\/p>\n

if((turnAngry.equals(Led6Status)) || (turnAngryLiv.equals(Led6Status))){
\n angry6();
\n }
\n else<\/p>\n

if((turnCalm.equals(Led6Status)) || (turnCalmLiv.equals(Led6Status))){
\n calm6();
\n }
\n else<\/p>\n

if((turnNervous.equals(Led6Status)) || (turnNervousLiv.equals(Led6Status))){
\n nervous6();
\n }
\n else<\/p>\n

if((turnHappy.equals(Led6Status)) || (turnHappyLiv.equals(Led6Status))){
\n happy6();
\n }
\n else<\/p>\n

if((turnSad.equals(Led6Status)) || (turnSadLiv.equals(Led6Status))){
\n sad6();
\n } <\/p>\n

}<\/p>\n

\/\/——————–CALM——–CALM————————————————————–<\/p>\n

void calm1(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led1Blue, value);\n arduino.analogWrite(Led1Green, 130);\n arduino.analogWrite(Led1Red, 0);\n delay(25);\n } \n\n for(value = 255; value >=0; value –)
\n {
\n arduino.analogWrite(Led1Blue, value);
\n arduino.analogWrite(Led1Green, 130);
\n arduino.analogWrite(Led1Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void calm2(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led2Blue, value);\n arduino.analogWrite(Led2Green, 130);\n arduino.analogWrite(Led2Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value –)
\n {
\n arduino.analogWrite(Led2Blue, value);
\n arduino.analogWrite(Led2Green, 130);
\n arduino.analogWrite(Led2Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void calm3(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led3Blue, value);\n arduino.analogWrite(Led3Green, 130);\n arduino.analogWrite(Led3Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value –)
\n {
\n arduino.analogWrite(Led3Blue, value);
\n arduino.analogWrite(Led3Green, 130);
\n arduino.analogWrite(Led3Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void calm4(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led4Blue, value);\n arduino.analogWrite(Led4Green, 130);\n arduino.analogWrite(Led4Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value –)
\n {
\n arduino.analogWrite(Led4Blue, value);
\n arduino.analogWrite(Led4Green, 130);
\n arduino.analogWrite(Led4Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void calm5(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led5Blue, value);\n arduino.analogWrite(Led5Green, 130);\n arduino.analogWrite(Led5Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value –)
\n {
\n arduino.analogWrite(Led5Blue, value);
\n arduino.analogWrite(Led5Green, 130);
\n arduino.analogWrite(Led5Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void calm6(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led6Blue, value);\n arduino.analogWrite(Led6Green, 130);\n arduino.analogWrite(Led6Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value –)
\n {
\n arduino.analogWrite(Led6Blue, value);
\n arduino.analogWrite(Led6Green, 130);
\n arduino.analogWrite(Led6Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

\/\/——————–ANGRY——–ANGRY————————————————————–<\/p>\n

void angry1(){
\n arduino.analogWrite(Led1Red,255);
\n \/\/arduino.analgoWrite(Led1Green, 0);
\n arduino.analogWrite(Led1Blue, 0);
\n delay(10);
\n arduino.analogWrite(Led1Red,0);
\n \/\/arduino.analgoWrite(Led1Green, 0);
\n arduino.analogWrite(Led1Blue, 0);
\n delay(10);
\n}<\/p>\n

void angry2(){
\n arduino.analogWrite(Led2Red,255);
\n \/\/arduino.analgoWrite(Led2Green, 0);
\n arduino.analogWrite(Led2Blue, 0);
\n delay(10);
\n arduino.analogWrite(Led2Red,0);
\n \/\/arduino.analgoWrite(Led2Green, 0);
\n arduino.analogWrite(Led2Blue, 0);
\n delay(10);
\n}<\/p>\n

void angry3(){
\n arduino.analogWrite(Led3Red,255);
\n \/\/arduino.analgoWrite(Led3Green, 0);
\n arduino.analogWrite(Led3Blue, 0);
\n delay(10);
\n arduino.analogWrite(Led3Red,0);
\n \/\/arduino.analgoWrite(Led3Green, 0);
\n arduino.analogWrite(Led3Blue, 0);
\n delay(10);
\n}<\/p>\n

void angry4(){
\n arduino.analogWrite(Led4Red,255);
\n \/\/arduino.analgoWrite(Led4Green, 0);
\n arduino.analogWrite(Led4Blue, 0);
\n delay(10);
\n arduino.analogWrite(Led4Red,0);
\n \/\/arduino.analgoWrite(Led4Green, 0);
\n arduino.analogWrite(Led4Blue, 0);
\n delay(10);
\n}<\/p>\n

void angry5(){
\n arduino.analogWrite(Led5Red,255);
\n \/\/arduino.analgoWrite(Led5Green, 0);
\n arduino.analogWrite(Led5Blue, 0);
\n delay(10);
\n arduino.analogWrite(Led5Red,0);
\n \/\/arduino.analgoWrite(Led5Green, 0);
\n arduino.analogWrite(Led5Blue, 0);
\n delay(10);
\n}<\/p>\n

void angry6(){
\n arduino.analogWrite(Led6Red,255);
\n \/\/arduino.analgoWrite(Led6Green, 0);
\n arduino.analogWrite(Led6Blue, 0);
\n delay(10);
\n arduino.analogWrite(Led6Red,0);
\n \/\/arduino.analgoWrite(Led6Green, 0);
\n arduino.analogWrite(Led6Blue, 0);
\n delay(10);
\n}<\/p>\n

\/\/——————–Nervous——–Nervous————————————————————–<\/p>\n

void nervous1(){
\n arduino.analogWrite(Led1Green,255);
\n arduino.analogWrite(Led1Red, 120);
\n arduino.analogWrite(Led1Blue, 0);
\n delay(300);
\n arduino.analogWrite(Led1Green,0);
\n arduino.analogWrite(Led1Red,120);
\n arduino.analogWrite(Led1Blue, 0);
\n delay(300);
\n}<\/p>\n

void nervous2(){
\n arduino.analogWrite(Led2Green,255);
\n arduino.analogWrite(Led2Red, 120);
\n arduino.analogWrite(Led2Blue, 0);
\n delay(300);
\n arduino.analogWrite(Led2Green,0);
\n arduino.analogWrite(Led2Red,120);
\n arduino.analogWrite(Led2Blue, 0);
\n delay(300);
\n}<\/p>\n

void nervous3(){
\n arduino.analogWrite(Led3Green,255);
\n arduino.analogWrite(Led3Red, 120);
\n arduino.analogWrite(Led3Blue, 0);
\n delay(300);
\n arduino.analogWrite(Led3Green,0);
\n arduino.analogWrite(Led3Red,120);
\n arduino.analogWrite(Led3Blue, 0);
\n delay(300);
\n}<\/p>\n

void nervous4(){
\n arduino.analogWrite(Led4Green,255);
\n arduino.analogWrite(Led4Red, 120);
\n arduino.analogWrite(Led4Blue, 0);
\n delay(300);
\n arduino.analogWrite(Led4Green,0);
\n arduino.analogWrite(Led4Red,120);
\n arduino.analogWrite(Led4Blue, 0);
\n delay(300);
\n}<\/p>\n

void nervous5(){
\n arduino.analogWrite(Led5Green,255);
\n arduino.analogWrite(Led5Red, 120);
\n arduino.analogWrite(Led5Blue, 0);
\n delay(300);
\n arduino.analogWrite(Led5Green,0);
\n arduino.analogWrite(Led5Red,120);
\n arduino.analogWrite(Led5Blue, 0);
\n delay(300);
\n}<\/p>\n

void nervous6(){
\n arduino.analogWrite(Led6Green,255);
\n arduino.analogWrite(Led6Red, 120);
\n arduino.analogWrite(Led6Blue, 0);
\n delay(300);
\n arduino.analogWrite(Led6Green,0);
\n arduino.analogWrite(Led6Red,120);
\n arduino.analogWrite(Led6Blue, 0);
\n delay(300);
\n}<\/p>\n

\/\/——————–Happy——–Happy————————————————————–<\/p>\n

void happy1(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led1Blue, value);\n arduino.analogWrite(Led1Green, 255-value);\n arduino.analogWrite(Led1Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value -=15)
\n {
\n arduino.analogWrite(Led1Blue, value);
\n arduino.analogWrite(Led1Green, 255-value);
\n arduino.analogWrite(Led1Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void happy2(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led2Blue, value);\n arduino.analogWrite(Led2Green, 255-value);\n arduino.analogWrite(Led2Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value -=15)
\n {
\n arduino.analogWrite(Led2Blue, value);
\n arduino.analogWrite(Led2Green, 255-value);
\n arduino.analogWrite(Led2Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void happy3(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led3Blue, value);\n arduino.analogWrite(Led3Green, 255-value);\n arduino.analogWrite(Led3Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value -=15)
\n {
\n arduino.analogWrite(Led3Blue, value);
\n arduino.analogWrite(Led3Green, 255-value);
\n arduino.analogWrite(Led3Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void happy4(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led4Blue, value);\n arduino.analogWrite(Led4Green, 255-value);\n arduino.analogWrite(Led4Red,0);\n delay(25);\n }\n\n for(value = 255; value >=0; value -=15)
\n {
\n arduino.analogWrite(Led4Blue, value);
\n arduino.analogWrite(Led4Green, 255-value);
\n arduino.analogWrite(Led4Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void happy5(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led5Blue, value);\n arduino.analogWrite(Led5Green,255-value);\n arduino.analogWrite(Led5Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value -=15)
\n {
\n arduino.analogWrite(Led5Blue, value);
\n arduino.analogWrite(Led5Green, 255-value);
\n arduino.analogWrite(Led5Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

void happy6(){<\/p>\n

for(value = 0; value<=255; value++){\n arduino.analogWrite(Led6Blue, value);\n arduino.analogWrite(Led6Green, 255-value);\n arduino.analogWrite(Led6Red, 0);\n delay(25);\n }\n\n for(value = 255; value >=0; value -=15)
\n {
\n arduino.analogWrite(Led6Blue, value);
\n arduino.analogWrite(Led6Green, 255-value);
\n arduino.analogWrite(Led6Red, 0);
\n delay(25);
\n }
\n}<\/p>\n

\/\/——————–Sad——–Sad————————————————————–<\/p>\n

void sad1(){<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led1Blue, value);\n arduino.analogWrite(Led1Green, 0);\n arduino.analogWrite(Led1Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led1Blue, 255);
\n arduino.analogWrite(Led1Green, value);
\n arduino.analogWrite(Led1Red, 0);
\n delay(10);
\n }<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led1Blue, 255-value);\n arduino.analogWrite(Led1Green, 255);\n arduino.analogWrite(Led1Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led1Blue, 120);
\n arduino.analogWrite(Led1Green, 255-value);
\n arduino.analogWrite(Led1Red, 0);
\n delay(10);
\n }
\n}<\/p>\n

void sad2(){<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led2Blue, value);\n arduino.analogWrite(Led2Green, 0);\n arduino.analogWrite(Led2Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led2Blue, 255);
\n arduino.analogWrite(Led2Green, value);
\n arduino.analogWrite(Led2Red, 0);
\n delay(10);
\n }<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led2Blue, 255-value);\n arduino.analogWrite(Led2Green, 255);\n arduino.analogWrite(Led2Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led2Blue, 120);
\n arduino.analogWrite(Led2Green, 255-value);
\n arduino.analogWrite(Led2Red, 0);
\n delay(10);
\n }
\n}<\/p>\n

void sad3(){<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led3Blue, value);\n arduino.analogWrite(Led3Green, 0);\n arduino.analogWrite(Led3Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led3Blue, 255);
\n arduino.analogWrite(Led3Green, value);
\n arduino.analogWrite(Led3Red, 0);
\n delay(10);
\n }<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led3Blue, 255-value);\n arduino.analogWrite(Led3Green, 255);\n arduino.analogWrite(Led3Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led3Blue, 120 );
\n arduino.analogWrite(Led3Green, 255-value);
\n arduino.analogWrite(Led3Red, 0);
\n delay(10);
\n }
\n}<\/p>\n

void sad4(){<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led4Blue, value);\n arduino.analogWrite(Led4Green, 0);\n arduino.analogWrite(Led4Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led4Blue, 255);
\n arduino.analogWrite(Led4Green, value);
\n arduino.analogWrite(Led4Red, 0);
\n delay(10);
\n }<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led4Blue, 255-value);\n arduino.analogWrite(Led4Green, 255);\n arduino.analogWrite(Led4Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led4Blue, 120);
\n arduino.analogWrite(Led4Green, 255-value);
\n arduino.analogWrite(Led4Red, 0);
\n delay(10);
\n }
\n}<\/p>\n

void sad5(){<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led5Blue, value);\n arduino.analogWrite(Led5Green, 0);\n arduino.analogWrite(Led5Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led5Blue, 255);
\n arduino.analogWrite(Led5Green, value);
\n arduino.analogWrite(Led5Red, 0);
\n delay(10);
\n }<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led5Blue, 255-value);\n arduino.analogWrite(Led5Green, 255);\n arduino.analogWrite(Led5Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led5Blue, 120 );
\n arduino.analogWrite(Led5Green, 255-value);
\n arduino.analogWrite(Led5Red, 0);
\n delay(10);
\n }
\n}<\/p>\n

void sad6(){<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led6Blue, value);\n arduino.analogWrite(Led6Green, 0);\n arduino.analogWrite(Led6Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led6Blue, 255);
\n arduino.analogWrite(Led6Green, value);
\n arduino.analogWrite(Led6Red, 0);
\n delay(10);
\n }<\/p>\n

for(value = 0; value<=255; value+=5){\n arduino.analogWrite(Led6Blue, 255-value);\n arduino.analogWrite(Led6Green, 255);\n arduino.analogWrite(Led6Red, 0);\n delay(10);\n }\n\n for(value = 255; value >=0; value -=5)
\n {
\n arduino.analogWrite(Led6Blue, 120 );
\n arduino.analogWrite(Led6Green, 255-value);
\n arduino.analogWrite(Led6Red, 0);
\n delay(10);
\n }
\n}<\/p>\n

void onReceiveEEML(DataIn d){<\/p>\n

\/\/set the value of remoteValue to equal the value of stream id 0 of the feed notated by d
\n String remoteValue = d.getStringValue(0);<\/p>\n

myValue = (remoteValue);<\/p>\n

}<\/p>\n","protected":false},"excerpt":{"rendered":"

For our living architecture course, we created an interactive light installation in the elevator of Avery Hall, controllable by anyone with a cell phone and a twitter account. The simplified process includes texting an emotion to twitter from any cellular phone using the #livarch hashtag. That tweet is then picked up by a realtime search, […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,13,10,12,9,15],"tags":[75,78,77,43,80,76,85],"_links":{"self":[{"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/posts\/497"}],"collection":[{"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/comments?post=497"}],"version-history":[{"count":8,"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/posts\/497\/revisions"}],"predecessor-version":[{"id":2245,"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/posts\/497\/revisions\/2245"}],"wp:attachment":[{"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/media?parent=497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/categories?post=497"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/gracefulspoon.com\/blog\/wp-json\/wp\/v2\/tags?post=497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}