Connected objects

1

From programming basics

IMG_0479_S.png
IMG_0419_S.jpg

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

IMG_0480_S.png
IMG_0475_S.png

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. 

0-cus-d3-1540590f53fe7083ea88f1436942c64

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.

13_yama-tour.png
The-College-of-Education-Building_1924.j

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

Prototyping Process

Screen Shot 2020-11-22 at 2.35.14 PM.png

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

Screen Shot 2020-11-23 at 11.31.37 AM.pn
Rubber-Sheeting-1.jpg

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

IMG_0613.png
IMG_0612.png
IMG_9806_S.png