hydro rayBryson; matthewReeves;
sonicResponsiveArchitecture; //light //sound //water //sketches //code //circuit //solder //metal
//professorMerateBarakat; //ARCH 6005; fall (2013);
W
I
W/R
V
R
V/I 2
V /W
W/I IR
2
W/I
oh m s (
wat ts (p rce) o f ve i t o m -
WR
W/V
ce) tan sis re
VI
amp ere V/R
t) rren cu s(
r) 2 e ow V /R 2 I R
vol t s ( e l e c t r o
//idea //week1 “one cannot return twice to the same river� ~Heraclitus
... but what would one see? what will a wall of unmoving water droplets contribute to architecture ...or when they move upstream?
listen to falling water
run along a 50 Hz speaker
under LED strobe lights
that p a us
r viewing o f at es 50Hz
//process //week2
ARCH 6005 WORK PROGRESS: WEEK 2: 4 September
MATTHEW REEVES / RAY BRYSON
Friday 28 August we engaged in tutorials that instructed us how to assign classes, variables, design loops. Our group project began to evolve in terms of what materials and components could be used in the design process. The programming tutorials were intensive, and as the code became dense, simple type errors were common. It is an exercise enough to be so clear in describing action when learning how to command a computer function. The wall design process began with ideas of pyramidal forms that responded to ambient noises, such as passersby. There were many enticing directions leading from this concept, however, neither of us found it interesting enough to develop further.
ARCH 6005 WORK PROGRESS: WEEK 2: 4 September
MATTHEW REEVES / RAY BRYSON
Similar to the above iteration, the designs here demonstrate a wall consisting of moving parts. Our focus was shifting to a different effect.
ARCH 6005 WORK PROGRESS: WEEK 2: 6 September
MATTHEW REEVES / RAY BRYSON
Water
Water has demonstrated the ability to express sound vibrations emitted from low frequencies. Our project has recentered around this physical phenomenon, and is directed toward a wall of water. By situating fountainheads in contact with speakers emitting the particular frequencies, the waterflow will move in motion as prescribed by the sound pressure. Water moving through a hose in contact with a speaker that emits 24 Hz will appear still, unmoving in midair (despite the continuous splattering sounds below). Water will appear to be sped up at 25 Hz, also moving in the shape of a sine curve. Most remarkably, water will appear to be flowing in reverse, back into the fountainhead, at 23 Hz.
ARCH 6005 WORK PROGRESS: WEEK 2: 6 September
MATTHEW REEVES / RAY BRYSON
Resources Water frequency experiments http://www.youtube.com/watch?v=mODqQvlrgIQ The experiment exhibited here demonstrates a speaker frequency that is synchronized with the frame rate of the video camera. The frequency combination is another method of producing the phenomenon of static water droplets, or reversed water flow. http://www.youtube.com/watch?v=uENITui5_jU A similar demonstration is found here, however a more prominent sine wave has been demonstrated. We have much to consider though design iterations, based upon the resources available.
//process //week3
ARCH 6005 WORK PROGRESS: WEEK 3: 9 September
MATTHEW REEVES / RAY BRYSON
Friday 6 September our project began to be directed into real design and planning. We were instructed to genrerate codes relevant to our wall design. There are two codes relevant to our design: one pertaining to sound and one pertaining to light. The first code must command a speaker to generate a tone at a given frequency, with the possibility to change that frequency within set parameters. The change may also be random, between frequencies and for time intervals: import ddf.minim.signals.*; import ddf.minim.*; AudioOutput out; SineWave wave; Minim minim; void setup() { size(512, 300, P3D); minim = new Minim (this); wave = new SineWave(50, 1, 1024); out = minim.getLineOut(minim.STEREO, 1024, 1024); out. addSignal(wave); } The second code will command an array of void draw() LED’s to light up and turn off at a set frequency. { background(0); The arrays would behave as strobe lights. Similar } to the speaker code, the lights will change frevoid stop() quency and time interval within set parameters, { and likely in a random pattern. minim.stop(); super.stop(); The next step in the sound generation is to }
write in two random variables. The first random variable will control the frequency of sound. The sound will fluctuate between 49 HZ and 51 HZ. The change will allow the water to slow down, stand still and flow vertically. The second random variable will be to control the length of time that each tone will maintain. This variable will change between 5 seconds and 20 seconds. Both these random variables will create a unique and interesting pattern with a condition of constant change.
color c1 = #000000; int i = 0; void setup(){ size (1250,750);} void draw(){ if(i == 0){ c1 = #000000; i = 1; delay(10);} else{ c1 = #FFFFFF; i = 0; delay(10);} background(c1);}
ARCH 6005 WORK PROGRESS: WEEK 3: 9 September
MATTHEW REEVES / RAY BRYSON
Resources for Hardware http://www.engineeringtoolbox.com/pumping-water-horsepower-d_753.html
Our desired flow dimensions will be 8 feet up at 20 gallons per minute (gpm). Based on the resource above, our pump must deliver 0.036 horsepower
ARCH 6005 WORK PROGRESS: WEEK 3: 9 September
Experiement
-Basic speaker system -4.1 ft max height water pump -Strobe light is not yet controlled by frequency
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 3: 11 September
MATTHEW REEVES / RAY BRYSON
On Monday 9 September, Professor Barakat introduced us to Grasshopper, and offered more advice for our water wall project. She suggested that we physically capture the phenomenom before moving forward. With so many systems to harness, Ray and I were intent, however, to familiarize ourselves with the programming code.
http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Arduino_Logo.svg/720px-Arduino_Logo.svg.png
The Arduino arrived, and Ray delved into the tutorials. He accomplished programming LED strobe frequency patterns, and we were able to control the progression of three different frequencies, but were unable to set a determined time interval for each. We want to set a time interval for each frequency, so that when the water is flowing downward, the appearance will continually shift from droplets frozen in motion, to moving forward, to moving backward. int ledPin = 13; int strobeSpeed = 700 ; boolean reverse = false; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); strobeSpeed += random(-680,680); strobeSpeed = constrain (20,0,1380);
}
if (strobeSpeed <= 20 && !reverse) strobeSpeed += random(1380); else reverse = true; if (strobeSpeed >= 1380 && reverse) strobeSpeed += random(-1380); else reverse = false;
ARCH 6005 WORK PROGRESS: WEEK 3: 11 September
Arduino Code References Arduino Tutorials: http://www.youtube.com/ watch?v=fCxzA9_kg6s 1.LED flash/strobe http://www.youtube.com/watch?v=_ LCCGFSMOr4 2.a.LED w/Button hold on,release off 2.b LED w/ Button push on, push off 2.c LED w/ button change brightness Arduino Code: 1. int ledPin = 13; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); delay(50); digitalWrite(ledPin, LOW); delay(50); }
2a. int switchPin = 8; int ledPin = 13; void setup() { pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); } void loop() { if (digitalRead(switchPin) == HIGH); { digitalWrite(ledPin,HIGH); } else { digitalWrite(ledPin,LOW); } }
MATTHEW REEVES / RAY BRYSON
2b. int switchPin = 8; int ledPin = 13; boolean lastButton = LOW; boolean ledOn = fralse; boolean currentButton = LOW void setup() { pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); } boolean debounce(boolean last) { boolean current = digitalRead(switchPin); if (last != current) { delay(5); current = digitalRead(switchPin); } return current; } void loop() { currentButton = debounce(lastButton); if (lastButton == LOW && currentButton == HIGH) { }
ledOn = !ledOn;
ARCH 6005 WORK PROGRESS: WEEK 3: 11 September
MATTHEW REEVES / RAY BRYSON
2c. int switchPin = 8; int ledPin = 11; boolean lastButton = LOW; int ledLevel = o; boolean currentButton = LOW void setup() { pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); } boolean debounce(boolean last) { boolean current = digitalRead(switchPin); if (last != current) { delay(5); current = digitalRead(switchPin); } return current; } void loop() { currentButton = debounce(lastButton); if (lastButton == LOW && currentButton == HIGH) { //level increase to 255 by incrament of 51 ledLevel = ledLevel + 51; }
Up and Coming We purchased a large supply of LEDâ&#x20AC;&#x2122;s and a circuit board to begin the process of assembling our strobe lights, to be set along the top of the wall opening. Speakers and water pumps will be assessed next. We are considering to request supply donations at this point, and intend to stay under budget.
//process //week4
ARCH 6005 WORK PROGRESS: WEEK 4: 16 September
MATTHEW REEVES / RAY BRYSON
From last Friday, our arduino code was further developed in the effort to include a duty cycle on the time intervals for each frequency. There are still troubles in creating this ideal code, and it has not yet been achieved. The code we were suggested to write was difficult to replicate. An electrical engineer consulted our code, and offered some advice. Another is available for consultation. Both have great insight into arduino coding, and the project will benefit. We are slowly amassing our equipment list, and are preparing for construction. The arduino works well, under the assumption that the code will soon function properly. The LED’s arrived, which will be arrayed onto 16 circuit boards. At 500 total LED’s, there will be 30 per array. The most recent code development Ray has made is one with an analogue duty cycle. As we wait to further consult our engineers on how to command time intervals with code, Ray has repeated the on/off sequence for the LED’s at each desired frequency. However, doing so will not permit a loop, and the code ends after running through each commanded frequency. int ledPin = 10; int strobeSpeed = 500; int rVal; void setup() { pinMode(ledPin, OUTPUT); tone(10,50,500); } void loop() { rVal=random(-1,1); if (rVal =-1); strobeSpeed = 50; { digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); }
if (rVal = 1); strobeSpeed = 2000;
if (rVal = 0); strobeSpeed = 500; { digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); }
{
}
}
digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed);
http://www.thediyworld.com/img/Bulk-LEDs-For-DIY-LED-Light-Bulb.JPG Accessed 18 September 2013
ARCH 6005 WORK PROGRESS: WEEK 4: 16 September
Speaker Experiment The second iteration of the water droplet exercise was telling of the complexity that must occur in order to successfully create the experience of frozen water and upward flowing water. The experiment included a stock speaker, a basic pond pump, a white LED, and a basic wooden enclosure. The LED was situated on top, where a hole was drilled to permit light to enter from above. Water was run in tubing over the speaker, tentatively to catch its vibrations. It was not successful due to the level of precision demanded. The idea remains clear, however. The project is not detered, and it progresses.
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 4: 18 September
Steel and Plumbing The steel components for the catch basin are present. The large HSS 6 x 10 will be cut into a C- channel, and will have two plates welded onto both ends. The water pump is also arriving, and will be connected from the outside of the basin via a cut hole and gasket. A conversation took place with the shop technician, who offered much insight into how our steel structure will best accomplish our plumbing intentions. Flow rate is a diďŹ&#x192;cult problem, and seen in the previous experiment.
Cut off here for basin
He suggested another catch basin at the top with a v-bottom, that is well-leveled. The water will fill up the basin, and then overflow through set notches at the same rate.
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 4: 18 September
MATTHEW REEVES / RAY BRYSON
Power Output Problem The arduino device delivers some power to the components that it controls. However, it is minimal in comparison to the scope of the water wall project. 500 LED’s and four-tosix subwoofers will require an external power supply. A few tutorials instructed us on how to wire an array of LED’s with the proper power requirement, as well as for speakers. The arduino is deceptive in that it seems to be the sole device needed to run any programmable idea. However, the arduino will be nothing more than a sophisticated potentiometer for LED’s and subwoofers. More research is required to correctly divide the role of control and power.
Tutorial from: http://www.youtube.com/watch?v=e-n-lo6GlYo
//process //week5
ARCH 6005 WORK PROGRESS: WEEK 5: 23 September
MATTHEW REEVES / RAY BRYSON
Speaker Preparation Transformer from Speaker Toroidal Transformer 160VA (Watts) 240 V / 2 * 30V 2.66 Amps Product Code: 0160-2-030 Weight: 1.5 kg http://www.tortech.com.au/product/900/ Logitech Z-680 Specifications
http://reviews.cnet.com/pc-speakers/ logitech-z-680/4507-3179_7-20720043.html
Nominal Power output: 505.0 W Input Impedance: 10.0 KOhm The dissecting of a salvaged entertainment system yielded a promising discovery: a transformer likely suitable for our audio needs. What is typical in found applicances is the operating uncertainty. The entertainment system damaged the VGA output in a computer monitor, which will be reimbursed as apart of this project . Further Plumbing Preparation The second iteration of the water droplet exercise was telling of the complexity that must occur in order to successfully create the experience of frozen water and upward flowing water. The experiment included a stock speaker, a basic pond pump, a white LED, and a basic wooden enclosure. The LED was situated on top, where a hole was drilled to permit light to enter from above. Water was run in tubing over the speaker, tentatively to catch its vibrations. It was not successful due to the level of precision demanded. The idea remains clear, however. The project is not detered, and it progresses.
ARCH 6005 WORK PROGRESS: WEEK 5: 25 September
MATTHEW REEVES / RAY BRYSON
Interim Preparation The project is approaching the interim review. At this time, our prioritiy is to express the experience of the water wall. However, due to the severe learning curve in the various components of each system, it was determined wisest to communicate the steps involved in accomplishing this phenomenon. A further developed iteration was furnished at a scale more realistic to the final wall design. The iteration designed for the interim consists of a variety of components at differing phases. The final pump is exhibted, but the audio and strobe system are at a draft phase.
Audio Draft
Strobe Draft
ARCH 6005 WORK PROGRESS: WEEK 5: 25 September
ATE Pro Electric Water Pump height: 164’-0” (total head) 26’-0” (suction lift) power: 1 hp The pump utilized is overly capable of the given task, that is, moving water 8 feet up at 20 gallons per minute. It is imperative that enough power was availble for the final presentation. The iterim model has the pump delivering a single stream of water.
MATTHEW REEVES / RAY BRYSON
//process //week6
ARCH 6005 WORK PROGRESS: WEEK 6: 30 September
MATTHEW REEVES / RAY BRYSON
Post Interim Evaluation The newly dubbed â&#x20AC;&#x153;HydroEâ&#x20AC;? has received feedback for the final two weks of production. Both members of the advocated for more human interaction with the design decisions. It further convinced our coding initiative to ensure originality. We have successfully eliminated problematic components of the HydroE. The computer power supply, the Seeed Relay Shield, the analogue relay, and the LED flood lamp all proved ineffective. Power Supply required higher standard of electrical capability Relay Shield generated too much mechanical sound LED Flood lamp did not permit high frequency strobe effect Analogue Relay is not the right component.
ARCH 6005 WORK PROGRESS: WEEK 6: 30 September
MATTHEW REEVES / RAY BRYSON
Weld Training The hydroE will feature a robust form, comprised of steel. Neither of us are currently skilled in metal fabrication, to the level required. I am spending the weekends learning how to weld. The process is therapeutic in many ways, besides the inherent risks involved.
It is apparent by now that the various skills involved in the hyrdroE project are not directly related to architecture. Architecture is reliant upon them, however. Without eletrical wiring or welding, buildings could not come to life out of paper or modeling programs.
ARCH 6005 WORK PROGRESS: WEEK 6: 2 October
Code Development
Code Development
With further assistance from engineer Paul Braden, the HydroE code has successfully incorporated a time cycle, or duty cycle. Each frequency is located within a do/while loop. Along with this loop is an installed time libray, permitting seconds, minutes, our other durations of time to be counted the moment the arduino has been activated.
#include <Time.h>
The propblem, however, is that seconds are far to large on the scale of milliseconds. We are also uncertain if this code, which is patching up the previous, is progressing to each frequency.
#include <time.h> int ledPin = 10; int strobeSpeed = 500; int rVal; int x; int y; int z; void setup() { pinMode(ledPin, OUTPUT); tone(10,50,500); } void loop() { if (z<1000); { x=second()/1000; y=(x+5)*1000; { rVal=random(-1,1); if (rVal =-1); strobeSpeed = 20; { do { digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); x=x+100; }while (x<y); } if (rVal = 0); strobeSpeed = 20.408;
MATTHEW REEVES / RAY BRYSON
{
do { digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); x=x+100; }while(x<y); } if (rVal = 1); strobeSpeed = 19.607; { do { digitalWrite(ledPin, HIGH); delay(strobeSpeed); digitalWrite(ledPin, LOW); delay(strobeSpeed); x=x+100; }while(x<y); } } z=z+1; } }
ARCH 6005 WORK PROGRESS: WEEK 6: 2 October
MATTHEW REEVES / RAY BRYSON
LED Wiring Utilizing the TIP 120 transistor, our lighting array can receive power and instruction separately. To our dismay, an Arduino is not a power supply. After research on Youtube, we were directed to the usage of transistors. Transistors will protect the Arduino from large voltages produced by the LED array while permitting it to control the on/off sequence of them.
Arduino
-
Transistor Power Supply
32 LED board
+
//process //week7
ARCH 6005 WORK PROGRESS: WEEK 7: 7 October
MATTHEW REEVES / RAY BRYSON
Final Fabrication Our work is converging toward the end of the session. The structure is taking shape in metal. Various tools are now being utilized, such the plasma cutter and MIG welder, along with a host of specialized metal shaping devices. The structure must conform to the existing stock of salvaged metal available to us. We have for our project two W6 wide flange beams for a base, a HSS 6 x 10 for a catch basin, two HSS 2 x 6 as columns, and a C 2 x 6 to support the speakers set atop the columns.
Once the structure is complete, the systems can begin to be integrated. Based upon the constraints of the steel, the plumbing and wiring will pass within the HSS tube steel, beneath an insulated floor, through the columns, and up above the C-channel where the speakers and LEDâ&#x20AC;&#x2122;s will be located.
ARCH 6005 WORK PROGRESS: WEEK 7: 7 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 7 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 9 October
Systems Integration The base frame is here completed, with columns and audio shelf added later. Wheels have been bolted to the base for ease of transport. The structure is heavy, is a counterpoint to the phenomenal levity of hydroEâ&#x20AC;&#x2122;s design intent.
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 9 October
Systems Integration The structure is complete, with much to add. The catch basin will be filled with a water-proof sealing paint, and the audio array will be set on top.
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 9 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 9 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 9 October
Amplifier Troubleshooting The audio system proved more challenging than the LED array, for it requires an amplifier along with a power supply, to also be regulated between the arduino with a transistor. Various ideas were attempted, from a custommade amplifier to a costly set of car amplifiers.
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 9 October
It is common to overpurchase when faced with the obligation to make a system work. It is fortunate that returns are always a possibility, especially in the case of the car amplifiers.
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 9 October
MATTHEW REEVES / RAY BRYSON
hydro
final presentation
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
Subwoofer Diagram
+
-
1000 W Amp
Audio Input
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
Subwoofer Schematic
-
+120v
R
R O
O
O
O
O
R
R
R
c
O
R
R
R
R O
O
O
O
R
R
R
R
R
R
R
R O c
R
D
D
R
R O
c
O
c
R
R
c R
O
O
R
R c
D
R c
O c R
D0
RX
TX D1
PWM
PWM D2
D3
D4
D5
D7
D6
D8
PWM
PWM D9
PWM D11
D10
D12
D13
PWM
R
R
Vin 9V GRD
Arduino
12 VDC OUT
5V
D 120 VAC IN D T
R
R
C
Q
A5
A4
A3
A2
A1
A0
C R
D13
R
D13
3V3 Q
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
Plumbing Diagram
OUT 1 HP liquid Pump IN
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
6’-9 3/8”
total system
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
4’-1 1/2”
4’-0”
system+structure
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
audio + LED’s
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
plumbing
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
audio/LED’s+plumbing
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
Final Code
#include <Time.h> //#include <time.h> int ledPin1 = 11; int ledPin2 = 10; int ledPin3 = 12; int ledPin4 = 7; int ledPin5 = 4; int ledPin6 = 6; int ledPin7 = 5; int ledPin8 = 3; float strobeSpeed =0; int time; int timeAdjust =0; int timeInc = 15; // 15 sec interval int frequency; void setup() { pinMode(ledPin1,OUTPUT); pinMode(ledPin2,OUTPUT); pinMode(ledPin3,OUTPUT); pinMode(ledPin4,OUTPUT); pinMode(ledPin5,OUTPUT); pinMode(ledPin6,OUTPUT); pinMode(ledPin7,OUTPUT); pinMode(ledPin8,OUTPUT); tone(9,50); Serial.begin(9600); }
#include <Time.h> void loop() { // counting 0-59 seconds from the begining of the upload time = second(); // Incrementing Counter at Time Intervals of 15 sec if (time/timeInc > timeAdjust) { timeAdjust++; } // 51 Hz DOWN if (timeAdjust == 0) { strobeSpeed = (1000/49);// 51 Hz DOWN frequency = 51; } if (timeAdjust == 3) { strobeSpeed = random(1000/51,1000/48);// 51 Hz DOWN frequency = strobeSpeed; } // 20 mills @ 50 hz PAUSE if (timeAdjust == 1) { strobeSpeed = (1000/50); frequency = 50; } // 49 hz UP if (timeAdjust == 2) { strobeSpeed = (1000/51); frequency = 49; } // this is to check stropbeSpeed with time Serial.print(“frequency”); Serial.print(frequency); Serial.print(“HZ”); Serial.print(“,”); Serial.print(time); Serial.println ();
MATTHEW REEVES / RAY BRYSON
// ON/OFF digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin3, HIGH); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin5, HIGH); digitalWrite(ledPin6, HIGH); digitalWrite(ledPin7, HIGH); digitalWrite(ledPin8, HIGH); delay(strobeSpeed/2); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin3, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, LOW); digitalWrite(ledPin6, LOW); digitalWrite(ledPin7, LOW); digitalWrite(ledPin8, LOW); delay(strobeSpeed/2); // Resets counter at the top of the minute if (time == 0) { timeAdjust = 0; } }
The final code successfully controls the LED array to strobe at one of three frequencies for a 15 second cycle. There are fifteen panels of LED’s, each with 8 series of four. Two panles are regulated by one of 8 transistors, each of which are controlled by a separate arduino pin, and command. The effect will permit greater variance. All five speakers generate a 50 Hz tone It is our hope to equip the hydroE with fifteen total transistors, so that each panel is controlled separately.
ARCH 6005 WORK PROGRESS: WEEK 7: 11 October
MATTHEW REEVES / RAY BRYSON
LED Schematic
125 series total
12V power source
3V white LED
1 ohm resistor
LED Diagram Arduino
-
TIP 120 Transistor Power Supply LEDs 4 in series 8 times
+
summary ( ); { //the various systems require further development //plumbing will be adjusted //lighting will receive individual transistors for freedom of control //audio will receive a 1000 W power supply //this exploration further expands our vocabulary and definition of architecture in the 21st Century
r) 2 e ow V /R 2 I R W
I
W/R
V
R
V/I 2
V /W
W/I IR
2
W/I
oh m s (
rce) o f ve i t o m -
WR
W/V
ce) tan sis re
VI
amp ere V/R
t) rren cu s(
wat ts (p
}
volts ( e le c tro
hydro