Edwu designsimple 2017 v1

Page 1

ARCHITECTURE

WORK SAMPLES

ED WU

www.edwudesign.com


NASA | MARS SURFACE HABITAT Mars | Design 402 | Fall 2016 | Team of 5


COLUMBIA UNIVERSITY BOATHOUSE Bronx, New York | Design 302 | Spring 2016


PRATT INSTITUTE DORMITORY

Brooklyn, New York | Design 301 | Fall 2015 | Team of 2 D

C

13 14 15 12

UP

16

MAIL BOXES

17 11

UP

UP

10

UP

DN

UP

E 9 F

8

UP

UP

UP

7

B Extensive Green Roof

GALLERY

N

G

A 0’

1

2

3

4

4’

8’

Cove Light

16’

Glass Glazing Insulation

6

5

Perforated Panel Metal Stud Rainscreen Panel Operable Window

13

12

11

10

9

8

7

B

A

Glass Sliding Door

Rainscreen Support System

Metal Stud Rainscreen Support System Rainscreen Panel Vapor Barrier Insulation Cove Light Glass Glazing Operable Window

Rainscreen Support System Rainscreen Panel

Section A 0’

A

B

7

8

9

10

11

12

13

1’

2’


SILENT MEGAPHONE

Methods and Materials | Spring 2016

NEWSPAPER CHAIR

Methods and Materials | Spring 2016


BOTANIC URBANISM | LIGHT SPEED ARCHITECTURE Design 403 | Spring 2017

Interatction Sequence

Deployment Sequence 1 | Unpack

2 | Unroll

char data = 0; //Constant const int CH9 = 7; const int CH10 = 6; const int CH11 = 5; const int CH12 = 4; const int CH13 = 3; const int CH14 = 2; const int CH1 = 10;

//12vdc one way //12vdc one way //12vdc one way //12vdc one way //12vdc one way //12vdc two way //12vdc two way

const int CH4 = 8; const int CH5 = 9;

//110vac Blower //110vac Blower

digitalWrite(CH11, on); break; case 'N': digitalWrite(CH11, off); break; case 'm': digitalWrite(CH12, on); break; case 'M': digitalWrite(CH12, off); break; case 'o': digitalWrite(CH13, on); break; case 'O': digitalWrite(CH13, off); break; case 'p': digitalWrite(CH14, on); break; case 'P': digitalWrite(CH14, off); break; case 'q': digitalWrite(CH1, on); break; case 'Q': digitalWrite(CH1, off); break;

//sensor const int trigPin = 12; const int echoPin = 11; //the relay on and off is fliped #define on LOW #define off HIGH //set statement byte mainblower_state = on; byte insideblower_state = on; byte condi�on1_state = on;

COMPRESSOR

unsigned long currentMillis = 0; unsigned long newTime = 0; unsigned long currentTime = 0; unsigned long previousMillis_mainblower = 0; unsigned long previousMillis_insideblower = 0; unsigned long previousMillis_condi�on1 = 0; unsigned long previousMillis_condi�on2 = 0;

SENSOR ARRAY

// variables //outside blower long on�me1 = 300000; long o�ime1 = 600000; //inside blower long on�me2 = 600000; long o�ime2= 300000; //condi�on 1 long on�me3 = 5000; long o�ime3 = 5000; //cond�on 2 long on�me4 = 3000; long o�ime4 = 3000;

BOTTLE

ARDUINO

BOTTLE

RELAY

boolean mainB = false; boolean insideB = false; boolean con1 = false; boolean con2 = false; boolean con3 = false; boolean con4 = false; boolean con5 = false; boolean sen = false; boolean sen2 = false; void setup() { pinMode(CH9, OUTPUT); pinMode(CH10, OUTPUT); pinMode(CH11, OUTPUT); pinMode(CH12, OUTPUT); pinMode(CH13, OUTPUT); pinMode(CH14, OUTPUT); pinMode(CH1, OUTPUT); pinMode(CH4, OUTPUT); pinMode(CH5, OUTPUT);

3 | Inflate

digitalWrite(CH9, off); digitalWrite(CH10, off); digitalWrite(CH11, off); digitalWrite(CH12, off); digitalWrite(CH13, off); digitalWrite(CH14, off); digitalWrite(CH1, off);

S

4 | Attach Specimen and Frame

BOTTLE

AIR MUSCLE

digitalWrite(CH4, off); digitalWrite(CH5, off); delay (1000);

S BOTTLE

AIR MUSCLE

if (mainB == true) { Mainblower(); } if(insideB == true) { Insideblower(); }

AIR MUSCLE S

BOTTLE

AIR MUSCLE S

BOTTLE

AIR MUSCLE S AIR MUSCLE }

if(con1 == true) { Condi�on1(); } if(con2 == true) { Condi�on2(); } if(con3 == true) { Condi�on3(); } if(con4 == true) { Condi�on4(); } if(con5 == true) { condi�on5(); } if(sen == true) { Sensor(); } if(sen2 == true) { Sensor2(); }

void BTdata() {

S AIR MUSCLE

if(Serial.available() > 0) { data = Serial.read(); Serial.print(data); Serial.print("\n"); switch (data) { case 'a':// Mainblower cycle on mainB = true; break; case 'A':// Mainblower cycle off mainB = false; digitalWrite(CH4, off); break; case 'b'://Mainblower cycle off, on forever mainB = false; digitalWrite(CH4, on); break; case 'B':// Mainblower cycle off, off forever digitalWrite(CH4, off); break; case 'c': //insideblower cycle on insideB = true; break; case 'C': //insideblower cycle off insideB = false; digitalWrite(CH5, off); break; case 'd': //insideblower cycle off, on forever insideB = false; digitalWrite(CH5, on); break; case 'D'://insideblower cycle off, off forever digitalWrite(CH5, off); break; case 'e'://run condi�on1 con1 = true; break; case 'E'://stop condi�on1 con1 = false; digitalWrite(CH9, off); digitalWrite(CH10, off); digitalWrite(CH11, off); digitalWrite(CH12, off); digitalWrite(CH13, off); digitalWrite(CH14, off); digitalWrite(CH1, off); break; case 'f': //run condi�on2 con2 = true; break;

6 | Interact

case 'g': // all on AllOn(); break; case 'G': // all off AllOff(); break; case 'h': //senor with condi�on 2 run sen = true; break; case 'H': //senor with condi�on 2 stop sen = false; break; case 'i': //run cond�on 3 con3 = true; break;

ch8

ch7

ch6

ch5

ch4

ch3

ch2

ch1

5 | Link Rope to Pneumatic Muscles

Serial.begin(9600);

void loop() { currentMillis = millis(); BTdata(); // Bluetooth Data

S BOTTLE

pinMode(trigPin,OUTPUT); pinMode(echoPin, INPUT); }

ch9

ch10

ch11

ch12

ch13

ch14

ch15

ch16

case 'j': //senor with condi�on 3 run sen2 = true; break; case 'J': //senor with condi�on 3 stop sen2 = false; break; //individual case 'k': digitalWrite(CH9, on); break; case 'K': digitalWrite(CH9, off); break; case 'l': digitalWrite(CH10, on); break; case 'L': digitalWrite(CH10, off); break; case 'n':

case 'r': // condi�on 4 run con4 = true; break; case 's': //condi�on 5 run con5 = true; break; default: break;

}

}

}

void Mainblower() { if((mainblower_state == on) && (currentMillis previousMillis_mainblower >= on�me1)) { mainblower_state = off; previousMillis_mainblower = currentMillis; digitalWrite(CH4, mainblower_state); } else if ((mainblower_state == off) && (currentMillis - previousMillis_mainblower >= o�ime1)) { mainblower_state = on; // turn it on previousMillis_mainblower = currentMillis; digitalWrite(CH4, mainblower_state ); } } void Insideblower() { if((insideblower_state == on) && (currentMillis previousMillis_insideblower >= on�me2)) { insideblower_state = off; previousMillis_insideblower = currentMillis; digitalWrite(CH5, insideblower_state); } else if ((insideblower_state == off) && (currentMillis - previousMillis_insideblower >= o�ime2)) { insideblower_state = on; // turn it on previousMillis_insideblower = currentMillis; digitalWrite(CH5, insideblower_state ); } } void Condi�on1() { if((condi�on1_state == on) && (currentMillis previousMillis_condi�on1 >= on�me3)) { condi�on1_state = off; previousMillis_condi�on1 = currentMillis; digitalWrite(CH9, condi�on1_state); digitalWrite(CH10, condi�on1_state); digitalWrite(CH11, condi�on1_state); digitalWrite(CH12, condi�on1_state); digitalWrite(CH13, condi�on1_state); digitalWrite(CH14, condi�on1_state); digitalWrite(CH1, condi�on1_state); } else if ((condi�on1_state == off) && (currentMillis - previousMillis_condi�on1 >= o�ime3)) { condi�on1_state = on; // turn it on previousMillis_condi�on1 = currentMillis; digitalWrite(CH9, condi�on1_state); digitalWrite(CH10, condi�on1_state); digitalWrite(CH11, condi�on1_state); digitalWrite(CH12, condi�on1_state); digitalWrite(CH13, condi�on1_state); digitalWrite(CH14, condi�on1_state); digitalWrite(CH1, condi�on1_state); } } void my_�me(long interval) //millis �me delay { currentTime= millis(); newTime = millis(); while((newTime - currentTime) < interval) { newTime = millis(); if(Serial.available() > 0) {data = Serial.read(); Serial.print(data); Serial.print("\n"); return false; } } return true; } void Condi�on2() { digitalWrite(CH9, on); my_�me(500); digitalWrite(CH9, on); digitalWrite(CH10, on); my_�me(500); digitalWrite(CH9, on); digitalWrite(CH10, on); digitalWrite(CH11, on); my_�me(500); digitalWrite(CH9, on); digitalWrite(CH10, on); digitalWrite(CH11, on); digitalWrite(CH12, on); my_�me(500); digitalWrite(CH9, on); digitalWrite(CH10, on); digitalWrite(CH11, on); digitalWrite(CH12, on); digitalWrite(CH13, on); my_�me(500); digitalWrite(CH9, on); digitalWrite(CH10, on); digitalWrite(CH11, on); digitalWrite(CH12, on); digitalWrite(CH13, on); digitalWrite(CH14, on); my_�me(500); digitalWrite(CH9, on); digitalWrite(CH10, on); digitalWrite(CH11, on); digitalWrite(CH12, on); digitalWrite(CH13, on); digitalWrite(CH14, on); digitalWrite(CH1, on); my_�me(5000); //on for 5 sec digitalWrite(CH1, off); my_�me(500); digitalWrite(CH1, off); digitalWrite(CH14, off); my_�me(500); digitalWrite(CH1, off); digitalWrite(CH14, off); digitalWrite(CH13, off); my_�me(500); digitalWrite(CH1, off); digitalWrite(CH14, off); digitalWrite(CH13, off); digitalWrite(CH12, off); my_�me(500); digitalWrite(CH1, off); digitalWrite(CH14, off); digitalWrite(CH13, off); digitalWrite(CH12, off); digitalWrite(CH11, off); my_�me(500); digitalWrite(CH1, off); digitalWrite(CH14, off); digitalWrite(CH13, off); digitalWrite(CH12, off); digitalWrite(CH11, off); digitalWrite(CH10, off); my_�me(500); digitalWrite(CH1, off); digitalWrite(CH14, off); digitalWrite(CH13, off); digitalWrite(CH12, off); digitalWrite(CH11, off); digitalWrite(CH10, off); digitalWrite(CH9, off); con2 = false; } void Condi�on3() { for(int i=0; i < 2 ; i++) { digitalWrite(CH9, on); digitalWrite(CH10, on); digitalWrite(CH11, on); digitalWrite(CH12, on); digitalWrite(CH13, on); digitalWrite(CH14, on); digitalWrite(CH1, on); my_�me(2000); digitalWrite(CH9, off); digitalWrite(CH10, off); digitalWrite(CH11, off); digitalWrite(CH12, off); digitalWrite(CH13, off); digitalWrite(CH14, off); digitalWrite(CH1, off); my_�me(2000); } con3 = false; } void Condi�on4() { for(int i=0; i < 2 ; i++) { digitalWrite(CH12, on); my_�me(500);

}

digitalWrite(CH13,on); digitalWrite(CH11, on); my_�me(500); digitalWrite(CH14, on); digitalWrite(CH10, on); my_�me(500); digitalWrite(CH1,on); digitalWrite(CH9,on); my_�me(1000); digitalWrite(CH9, off); digitalWrite(CH1, off); my_�me(500); digitalWrite(CH10, off); digitalWrite(CH14, off); digitalWrite(CH9, on); digitalWrite(CH1, on); my_�me(500); digitalWrite(CH11,off); digitalWrite(CH13, off); digitalWrite(CH10, on); digitalWrite(CH14, on); digitalWrite(CH9, off); digitalWrite(CH1, off); my_�me(500); digitalWrite(CH12, off); digitalWrite(CH10, off); digitalWrite(CH14, off); my_�me(500); } con4 = false;

void condi�on5() { digitalWrite(CH10, on); digitalWrite(CH11, on); my_�me(500); digitalWrite(CH13, on); digitalWrite(CH14, on); my_�me(500); digitalWrite(CH11, off); digitalWrite(CH14, off); my_�me(500); digitalWrite(CH11, on); digitalWrite(CH14, on); digitalWrite(CH13, off); digitalWrite(CH10, off); my_�me(500); digitalWrite(CH13, off); digitalWrite(CH14, off); digitalWrite(CH10, off); digitalWrite(CH11, off); digitalWrite(CH12, on); digitalWrite(CH9, on); digitalWrite(CH1,on); my_�me(500); digitalWrite(CH9, on); digitalWrite(CH10, on); digitalWrite(CH11, on); digitalWrite(CH12, on); digitalWrite(CH13, on); digitalWrite(CH14, on); digitalWrite(CH1, on); my_�me(2000); digitalWrite(CH9, off); digitalWrite(CH10, off); digitalWrite(CH11, off); digitalWrite(CH12, off); digitalWrite(CH13, off); digitalWrite(CH14, off); digitalWrite(CH1, off); my_�me(2000); digitalWrite(CH9, on); digitalWrite(CH10, on); digitalWrite(CH11, on); digitalWrite(CH12, on); digitalWrite(CH13, on); digitalWrite(CH14, on); digitalWrite(CH1, on); my_�me(2000); digitalWrite(CH9, off); digitalWrite(CH10, off); digitalWrite(CH11, off); digitalWrite(CH12, off); digitalWrite(CH13, off); digitalWrite(CH14, off); digitalWrite(CH1, off); my_�me(1000); con5 = false; } void AllOn() { digitalWrite(CH9, on); digitalWrite(CH10, on); digitalWrite(CH11, on); digitalWrite(CH12, on); digitalWrite(CH13, on); digitalWrite(CH14, on); digitalWrite(CH1, on); } void AllOff() { digitalWrite(CH9, off); digitalWrite(CH10, off); digitalWrite(CH11, off); digitalWrite(CH12, off); digitalWrite(CH13, off); digitalWrite(CH14, off); digitalWrite(CH1, off); } void Sensor() { int dura�on, distance; digitalWrite(trigPin, HIGH); delayMicroseconds(50); digitalWrite(trigPin, LOW); dura�on = pulseIn(echoPin, HIGH); //measure the �me using pulsein when the echo receives a signal set it to high distance = (dura�on/2)/29.1; if(distance< 13) { Condi�on2(); }

}

Serial.print(distance); Serial.println("CM"); delay(500);

void Sensor2() { int dura�on, distance; digitalWrite(trigPin, HIGH); delayMicroseconds(50); digitalWrite(trigPin, LOW); dura�on = pulseIn(echoPin, HIGH); //measure the �me using pulsein when the echo receives a signal set it to high distance = (dura�on/2)/29.1; if(distance< 13) { Condi�on4(); }

}

Serial.print(distance); Serial.println("CM"); delay(500);


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.