Architecture & Cybernetics
Parametric Cymatic Sound Box
Team 1: Arduino & Scripting Güley Alagöz Maksim Iurovnikov Team 2: Model Making Ivan Aristov Rabson Joseph Bota Kirill Tsuman
Content
1. Diagram of the idea 2. First Ideas & Drawings 3. Box Design 4. Documentation 5. Photographs of Process 6. Script 7. References
Description PARAMETRIC CYMATIC SOUND BOX PURPOSE The aim is to construct a self regulating cybernetic machine that will effectually produce geometric randomness. The machine is to be environmentally unadaptive. Nonetheless, it is to be environmentally responsive. The machine will, in application, tap into a novel realm as far as architectural form genesis is concerned. Architectural forms which would be unattainable elsehow will be made realizable. OBJECTIVES: • That it responds and reacts to environmental activity • Geometrical forms are attained both randomly and parametrically. • That it performs input processing and output functions, owing to cybernetics. THE DESIGN The Hardware • Lighting fixtures: to sufficiently illuminate the operation plane thereby easing detectability of shadow behavior. • Light sensors: to detect shadow behavior and feed the arduino board information as detected • Arduino board : to parametrically compute information as fed by light sensors there by instructing the music player to produce sounds at specified frequencies. • Music player: to produce sound with instruction from the arduino board • A speaker operating within a 60-100HZ frequency range: to produce longitudinal waves which in turn produce dynamic effects on the liquid resting directly above. • Corn starch: At the right water content to be placed on speaker surface to produce oscillations. • Webcams: to capture activity on the working plane and directly produce a 3d video with the help of Stereo movie player software. • Laptop: to generate a 3d video and display to the operator
Description THE PROCESS Owing to the understanding of a cybernetic machine as adaptive in nature and environmentally responsive, the machine will perform sensory, processing and output functions. The output will be a form changing (dancing) effect of corn starch in response to different oscillations at specified frequencies as produced by a speaker in conformance with cymatic principles. The resultant movements and geometrical transformations will be captured by video cameras and with the aid of Stereo Movie Player software a 3d video will be generated. Since the fluid is in a constant state of dynamism, a different form will come about in every frame of the video. This then will ensure the attainment of forms of potential architectural applicability. Light will be projected to the working plane and an operator will have to create shadows by moving hands or objects directly above the operation plane. Shadow behavior will then be sensed by light sensors and fed to the arduino board. The arduino board will then respond to this information by working out and producing sounds parametrically as need be. Albeit the vibrations will be parametrically generated, the corn starch particles are bound to be in a constant state of reorganization, thereby guaranteeing operative randomness in both geometry and sound.
Diagram for the Idea PARAMETRIC CYMATIC SOUND BOX working principle
PURPOSE: The aim is to construct a self regulating cybernetic machine that will eectually produce geometrical randomness. OBJECTIVES: That the machine is self regulating and cyclic in nature That it responds and reacts to environmental activity Geometrical forms are attained both randomly and parametrically. Albeit the vibrations will be parametrically generated, the corn starch particles are bound to bein a constant state of reorganization, thereby guaranteeing eectual randomness in both geometry and sound.
PARAMETRIC CYMATIC SOUND BOX
First Ideas & Drawings
PURPOSE: The aim is to construct a self regulating cybernetic machine that will effectually produce geometrical randomness. OBJECTIVES: That the machine is self regulating and cyclic in nature That it responds and reacts to environmental activity Geometrical forms are attained both randomly and parametrically. THE DESIGN
Preliminary sketches of the proposed machine, outlining the main components of the machine
THE PROCESS Owing to the understanding of a cybernetic machine as cyclic in nature, the machine will perform sensory, processing and output functions. The output will be a form changing (dancing) effect of corn starch in response to different oscillations at specified frequencies as produced by a speaker in conformance with cymatic principles. The resultant movements and geometrical transformations will be detected by motion sensors mounted above the activity/working plane and fed to an arduino board. The arduino board will then respond to this information by working out and producing sounds parametrically as need be.
Albeit the vibrations will be parametrically generated, the corn starch particles are bound to be in a constant state of reorganization, thereby guaranteeing effectual randomness in both geometry and sound.
Box Design
Box Design
Box Design
Documentation
Documentation
Documentation
Documentation
Documentation
Documentation
Documentation
Documentation
Scripting long randNumber; //establishes randNumber long randNumber1; //establishes randNumber1 void setup () { } void loop () { randNumber = random(0, 3000); //randNumber is between .5 and 3 seconds tone(13, 0.6); //plays a 18kHz tone on digital I/O pin 13 delay(randNumber); //continues to play tone to the time of randNumber noTone(13); //stops playing tone on pin 13 randNumber1 = random(0, 3000); //randNumber1 is between 10 and 30 seconds delay(randNumber1); //continues silence to the time of randNumber1 }
Scripting int photosensorPin = 0; int piezoPin = 9; int val = 0; void setup() { pinMode(piezoPin, OUTPUT); } void loop() { digitalWrite(piezoPin, LOW); val = analogRead(photosensorPin); val = val/2; for( int i=0; i<500; i++ ) { // play it for 50 cycles digitalWrite(piezoPin, HIGH); delayMicroseconds(val); digitalWrite(piezoPin, LOW); delayMicroseconds(val); } }
Scripting
int threshold = 128;
int sin_tab_iterator;
int photosensorPin = 0; int piezoPin = 9;
void setup () { Serial.begin(9600); tone(piezoPin, freq); //plays a tone }
int freq = 60; int val = threshold; int lastVal = threshold;
void loop () { unsigned char sin_tab [256] = { lastVal = val; if (val <= threshold && lastVal > threshold) { 127,130,133,136,139,142,145,148,151,154,157,160,164,166,169,172,175, if (freq <= 80) freq += 10; 178,181,184,187,189,192,195, else freq = 60; 197,200,202,205,207,210,212,214,217,219,221,223,225,227,229,231,232, } 234,236,237,239,240,242,243, sinusOutput(); // update the sinus output 244,245,246,247,248,249, 250,251,251,252,252,253,253,253,253,253,254 } ,253,253,253,253,252,252,251, 251,250,249,249,248,247,246,245,243,242,241,239,238,236,235,233,231, void sinusOutput() 230, 228,226,224,222,220,218, { 215,213,211,209,206,204,201,199,196,193,191,188,185,182,180,177,174, if (sin_tab_iterator > 255) sin_tab_iterator = 0; 171,168,165,162,159,156,153, else sin_tab_iterator++; 150,147,144,141,137,134,131,128,125,122,119,116,112,109,106,103,100, analogWrite(piezoPin, sin_tab [sin_tab_iterator]); 97,94,91,88,85,82,79,76, 73,71,68,65,62,60,57,54,52,49,47,44,42,40,38,35,33,31,29,27,25,23,22,20 int microDelay; ,18,17,15,14, if (freq == 60) microDelay = 65; 12,11,10,8,7,6,5,4,4,3,2,2,1,1,0,0,0,0,0,0,0,0,0,0,1,1,2,2,3,4,5,6,7,8,9,10,11, else if (freq == 70) microDelay = 56; 13,14,16,17,19,21,22,24, else if (freq == 80) microDelay = 49; 26,28,30,32,34,36,39,41,43,46,48,51,53,56,58,61,64,66,69,72,75,78,81,84 delayMicroseconds(microDelay); ,87,89,93,96, } 99,102,105,108,111,114,117,120,123,127};
Scripting int threshold = 128; int photoSensorPin = 0; int piezoPin = 13; int freq = 60; int val = threshold; int lastVal = threshold; void setup() { Serial.begin (9600); tone(piezoPin, freq); //plays a 60Hz tone on digital I/O pin 13 } void loop() { lastVal = val; val = analogRead(photoSensorPin); Serial.println(val); if(val <= threshold && lastVal > threshold){ if (freq <= 90) freq += 10; else freq = 60; tone(piezoPin, freq); //plays a 60Hz tone on digital I/O pin 13 } }
Fritzing
Diagrams
Different types of waves are researched in order to create proper vibrations that will move the non-Newtonian liquid.
sine wave
square wave
References
* * * *
http://en.wikipedia.org/wiki/Sound http://en.wikipedia.org/wiki/Non-Newtonian_fluid http://arduino.cc/ http://www.youtube.com/watch?v=WaYvYysQvBU&feature=feed wll&list=WL * http://vimeo.com/2050117 * http://en.wikipedia.org/wiki/Sine_wave * http://en.wikipedia.org/wiki/Square_wave