


Connected objects
1
From programming basics


Start with machine logic, the C language was introduced in class. From differentiating types of batteries and resistors, learning how to weld, move to the stepstone of coding. I was able to pull together a set of Arduino Uno, LEDs with buttons, and apply codes from the Arduino library.
2
To Command / control


A mid-term artifact was built to demonstrate new-learned knowledge. I decided to go with my favorite: the big red arcade button — it reminds me of Super Mario — as my trigger to control the NeoPixel strip. I set the button inside of a shoebox, when the lid was opened, the strip lit up. Since this was a low fidelity prototype, I add a book to increase the weight to make sure the button was pressed every time I close the lid. And I also notice the big arcade button is a microcontroller, instead of on and off!
3
To connected object
This auditorium artifact is the final test from this studio class. It presents a pragmatic systems approach to understanding, communicating about, and collaborating on designs that enable interactions and conversations in the service of human needs. As programming was introduced in the class, I learned how to apply cybernetic frameworks to the design of interactive systems.

Helen L DeRoy Auditorium
While a number of groups have tried to raise awareness of Asian discrimination, no one has visualized the degree of the problem. I chose one of Minoru Yamasaki’s buildings on the campus of Wayne State University as an appropriate venue to represent this.
At first, deep blue lights mimic the color of water, which was designed for the pool surrounding the building but is no longer present. When tweets containing #Thisis2016 accumulate in the public Twitter stream — which indicates the racist moments Asian Americans have faced in the US*— the color of the water transitions to red as the number of appearances increases. Then when tweets containing #antiracism and #Love appear together and accumulate, the whole building lights up and the pool slowly goes back to a peaceful blue.
* The NY Times's deputy Metro editor, Michael Luo, started the trend of #Thisis2016 on Twitter. He invited Asian Americans to share their experiences of being treated differently on television. Since mid-2017 this hashtag has been actively used, which shows that ongoing discrimination is still felt in America.


The Gothic arches on the gray-cast facades are the experiment of ornamentation, light, and shadow by renowned architect
Yamasaki in 1964.
Prototyping Process

Step 1.
Build a 1/16 model in C4D to figure out the gauge between arches.


Step 2.
Isolate each component for laser-cut and glue all walls together with a hot-glue gun.
Step 3.
Cut rubber sheets to imitate the arches on the wall. Spray-print the final prototype
Step 4.
Coding and debugging: connect NeoPixel strip to IFTTT via Particle Photon wifi board.
Call function to simulate effects when the connection is unstable.
#include <neopixel.h>
#include "application.h"
#define PIXEL_COUNT 96
#define PIXEL_PIN D2
#define PIXEL_TYPE WS2812B
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);
int count = 0;
int lightBulb = 3;
int numberOfLights = 96;
void setup() {
pinMode(3,OUTPUT);
Particle.function("led",ledToggle);
Particle.function("GoBack",ledDisappear);
Serial.begin(9600);
strip.begin();
strip.show();
}
void loop() {
if(count >= 0 && count<= 5){
int i = 0;
while(i <= numberOfLights){
strip.setPixelColor(i, 0,128,255);
++i;
strip.show();}
}
if(count >= 6 && count<= 10){
int i = 0;
while(i <= numberOfLights){
strip.setPixelColor(i, 0,0,255);
++i;
strip.show();}
}
if(count >= 11 && count<= 15){
int i = 0;
while(i <= numberOfLights){
strip.setPixelColor(i, 127,0,255);
++i;
strip.show();}
}
if(count >= 16 && count<= 20){
int i = 0;
while(i <= numberOfLights){
strip.setPixelColor(i, 255,0,255);
++i;
strip.show();}
}
if(count >= 21 && count<= 25){
int i = 0;
while(i <= numberOfLights){
strip.setPixelColor(i, 255,0,127);
++i;
strip.show();}
}
}
int ledToggle(String command) {
count++;
digitalWrite(3,LOW);
}
int ledDisappear(String command) {
count--;
digitalWrite(3,HIGH);
}
Step 5.
Present prototype on Student exhibition



