Thursday, December 13, 2007
5th Prototype
final images
final mpg's
Labels: mf
010
final code
import de.bezier.sql.*;
import de.bezier.mysql.*;
import processing.serial.*;
MySQL msql;
Serial myPort;
String table = "airTest";
String[] si = new String[102600];
void setup()
{
size( 100, 100 );
println(Serial.list());
myPort = new Serial(this, Serial.list()[1], 2400);
msql = new MySQL( "SQL06.db4free.NET", "ecovis", "fbitonti", "glight", this );
if ( msql.connect() )
{
// create a table with an id and a word
//
msql.execute( "CREATE TABLE IF NOT EXISTS " + table + " ("+
"id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,"+
"word VARCHAR( 255 )"+
")"
);
msql.query( "SELECT * FROM " + table );
int scount = 0;
while (msql.next())
{
String s = msql.getString("word");
si[scount] = s;
int n = msql.getInt("id");
println(s + " " + n);
float f = float(s);
scount = scount + 1;
}
// need to find out how many rows there are in table?
//
msql.query( "SELECT COUNT(*) FROM " + table );
msql.next();
println( "number of rows: " + msql.getInt(1) );
}
else
{
// connection failed !
}
}
void draw()
{
int gg = 0;
while(gg < 636){
int f = int(si[gg]);
if(f>0){
delay(1000);
println("port");
println(myPort.available());
if (myPort.available() == 0) {
delay(1000);
int x = int(si[gg]);
println(x);
myPort.write(x);
println("value");
println(si[gg]);
gg = gg + 1;
// myPort.stop();
}
myPort.clear();
delay(1000);
}
}
}
PBASIC CODE:
' {$STAMP BS2}
' {$PBASIC 2.5}
check VAR Byte
proIn VAR Byte
Main:
DO
check = IN3
proIn = IN10
HIGH 2
HIGH 6
HIGH 8
HIGH 11
SERIN 16, 16780, [proIn]
IF proIn > 0 THEN
IF proIn < 13 THEN
'DO WHILE proIN < 13
HIGH 2
HIGH 6
HIGH 8
HIGH 11
PAUSE 9000
' SERIN 16, 16780, [proIn]
' LOOP
' END
ENDIF
ENDIF
IF proIn > 13 THEN
IF proIn < 20 THEN
' DO WHILE proIn > 13
HIGH 2
HIGH 6
HIGH 8
HIGH 11
PAUSE 200
LOW 2
LOW 6
LOW 8
LOW 11
PAUSE 200
HIGH 2
HIGH 6
HIGH 8
HIGH 11
PAUSE 200
LOW 2
LOW 6
LOW 8
LOW 11
PAUSE 500
'LOOP
'END
ENDIF
ENDIF
IF proIn > 20 THEN
IF proIn < 50 THEN
' DO WHILE proIn > 13
HIGH 2
HIGH 6
HIGH 8
HIGH 11
PAUSE 200
LOW 2
LOW 6
LOW 8
LOW 11
PAUSE 200
HIGH 2
HIGH 6
HIGH 8
HIGH 11
PAUSE 200
LOW 2
LOW 6
LOW 8
LOW 11
PAUSE 200
HIGH 2
HIGH 6
HIGH 8
HIGH 11
PAUSE 200
LOW 2
LOW 6
LOW 8
LOW 11
PAUSE 500
'LOOP
'END
ENDIF
ENDIF
LOOP
END
Labels: mf
Wednesday, December 12, 2007
Final Boards
Final Prototype
Thursday, November 29, 2007
interactive data
' {$STAMP BS2}
' {$PBASIC 2.5}
check VAR Byte
proIn VAR Byte
checks VAR Byte
cnt VAR Byte
Main:
DO
check = IN3
proIn = IN10
'loop through all tiles
cnt = 0
FOR checks = 0 TO 8
IF IN3 = 0 THEN
cnt = cnt + 1
ENDIF
NEXT
SERIN 16, 16780, [proIn]
IF proIn > 13 THEN
IF cnt > 0 THEN
HIGH 14
ENDIF
ENDIF
IF proIn < 13 THEN
LOW 14
ENDIF
checks = 0
LOOP
END
Labels: mf
Thursday, November 15, 2007
Many kinds of solar yard lights
Small, inexpensive solar cells
/restroom mediator
+ Input element(s)
+ Processing
+ Output
+ Materials to be used
+ Size of prototype
+ Site
+ Broader issues the project addresses
+ An answer to the question, "Why responsive kinetic architecture?"
+ The input elements are multiple sensors consisting of two ultrasound sensors and a microphone sensor.
+ The processing includes a code written for the Basic Stamp 2 microcontroller that includes “If… And” operators to respond to certain input data.
+ The output consists of a flexinol wire and servo.
+ Materials used is polycarbonate, Flexinol wire, wood,
+ Size of prototype will be roughly 24” x 36”.
+ The site is in between a men’s and women’s restroom in a social environment.
+ This project addresses issues of privacy, revealing and concealing that responds to occupancy.
+ It creates an intuitive solution to mediating two environments that in today’s society is separate and apart.
Labels: TSC
_stand here
people, light
_processing
reading(s) of the surrounding natural/unnatural light exposure and interference of “constant light”
the user engaging the system in a provocative way
_output
covered area specific to users location
increasing awareness of waiting passenger(s)
_materials
unknown
_size
umbrella with ability to expand to small canopy
_site
dekalb bus route poles and covered stops
_issues
remarking on the lack of spatial qualities at bus stop
offering protection in unsheltered environment
increasing awareness
_why responsive kinetic architecture?
ideas about the ability of an aware system to adapt accordingly to specific usage but we as a group feel that this question is still unanswered
shawn,sean,karl,regine
Wednesday, November 14, 2007
post-midterm
+ Input element(s)
Online Database that contains the quality of air in various cities.
+ Processing
We will use our ability to process large data sets to make connections between values associated with air quality to provoke an understanding about air quality in a particular region, possible relative to a particular carbon producing social behavior or geographical location.
+ Output
We will output our data in the form of a magnetic field that can produce subtle variations in the surrounding environment.
+ Materials to be used
Electromagnets, metal cables, metal rods, pic microcontroller, and a laptop.
+ Size of prototype
Our prototype will operate somewhere between the scale of a wall panel and small piece of furniture.
+ Site
We are currently considering applying the project as an instillation that can operate in the context of an interior public space.
+ Broader issues the project addresses
The project should address environmental issues concerning air quality as well as address larger issues concerning the ever expanding data landscape created by telecommunications, and how architecture can interface with that landscape.
+ An answer to the question, "Why responsive kinetic architecture?"
Kinetic architecture can help us find a way to communicate complex ideas that may span multiple dimensions beyond traditional notions of space.
Labels: mf
+ Input element(s)
light sensor and/or photovoltaics
+ Processing
Depending on the amount of light detected by the sensor or the electricity
generated by the photovoltaics, a certain percentage of the modules in the
facade will be activated.
+ Output
Opaque surface in which the dimensions are transformed by flexinol wire.
This is the module to be repeated along a plane to create a facade condition.
Together, the modules act in changing the porosity of the facade.
+ Materials to be used
aluminum, plastic, fiber glass, fabric
+ Size of prototype
6" - 9" x 6" - 9" x 6" - 9"
+ Site
any south facing facade
+ Broader issues the project addresses
the facade porosity in response to the amount of sunlight
+ An answer to the question, "Why responsive kinetic architecture?"
to better serve the inhabitants of the building
Thursday, November 8, 2007
Wednesday, November 7, 2007
09_outputTest#1+Concept
Ambient Display of Information
Ambient conditions such as subtle altercations to our physical environment can provide an effective method to communicate through many different senses with out overloading our sensual ability to process data.
Labels: mf
Possible Places of Deployment
Privately Owned Public Space
http://www.nyc.gov/html/dcp/html/priv/mndist1.shtml
Transportation systems through which people experience large expanses of the city rapidly could produce an enviroment in which we can distribute an ambient communication system.
Public parks may provide an appropriate context for displaying air quality data.
Labels: mf
NYC Air Quality monoriting stations
Free WIFI in NYC
Labels: mf
Tuesday, November 6, 2007
Phillip Beesley
http://www.philipbeesleyarchitect.com/sculptures/0635hylozoic_soil/hylozoic.html
The artist also has videos on you tube if you type in his name
Phillip Beesley
Thursday, November 1, 2007
Shawn, Karl, Regine, Sean
Possibel Output - tyler.chie.sergio
Labels: TSC
Electromagnet and iron dust
Electromagnet experiment
Creating an electromagnet using operational amplifier
This week we investigated options for output by creating an electromagnet. Goal of this investigation was to create a magnetic device which receives input from arduino and triggers a mechanism or some sort.
Before starting this prototype, we were thinking of making a small container that filled with iron filing, which create a field that changes its intensity by receiving input from arduino.
We thought that changing polarity would also change the condition, however it did not seemed to matter so much.
Labels: mf
10.1.07 Prototype -- tyler.chie.sergio
Wednesday, October 31, 2007
references
biothing.org
urbanaarch_web from thetarbre on Vimeo.
biothing()Invisible from thetarbre on Vimeo.
Labels: TSC
07_001-4_2xUSsensor+FWire+Servo_TylerSergioChie
07_004_USsensor+FWire+Servo from thetarbre on Vimeo.
07_002_USsensor+Motor from thetarbre on Vimeo.
07_003_USsensor+FWire.
Labels: TSC
07.05_knockDetection_vibrationSensor_TylerSergioChie
Each sensors detects and converts the vibration transmitted through different entities to voltage. This piezo element can act as a vibrational input not only as a speaker. This sensor can get larger voltage than condenser microphone so there is no need to amplify it.
Piezo element: detection of vibration transmitted through the objects
Condenser Microphone: detection of vibration transmitted through the air
07.5_knockDetection_vibrationSensor from thetarbre on Vimeo.
Labels: TSC
Thursday, October 25, 2007
Basic Stamp Syntax and Reference Manual
anothertryOut_knockDetection
http://forums.parallax.com/forums/default.aspx?f=6&m=225685
' {$STAMP BS2}
' {$PBASIC 2.5}
'This program will monitor the sound falling on a microphone,
'toggling a number of lights whenever a very loud sound is heard.
INPUT 1
INPUT 2
INPUT 3
#DEFINE pcell = 0
#DEFINE pcellpin = 0
time VAR Byte
OUTPUT 1
OUTPUT 2
OUTPUT 3
read_pcell:
RCTIME 0,1,time
DEBUG DEC time, CR
GOTO read_pcell
'////////////////////
is_light1_on:
IF time>1 THEN light1_on '<== See above regarding B2
light1_off:
IN1=0
GOTO is_light2_on
light1_on:
IN1=1
'/////////////
is_light2_on:
IF time>1 THEN light2_on '<== See above regarding B2
light2_off:
IN2=0
GOTO is_light3_on
light2_on:
IN2=1
'////////////
is_light3_on:
IF time>1 THEN light3_on '<== See above regarding B2
light3_off:
IN3=0
GOTO is_light4_on
light3_on:
IN3=1
'////////////
is_light4_on:
GOTO read_pcell
Labels: TSC
Wednesday, October 24, 2007
Blink LED with MYSQL
using a data set from http://www.dec.ny.gov/airmon/index.php
We are not allowed back end access to the websites data however, we did devise a way for importing the data downloaded off the site into our own mysql data base. that can then be used to control a led on our breadboard.
The processing script will find the data on the internet download it into an array and then cycle through that array sending out each value to the micro controller through the serial port. the micro controller then reads the output from the PC and determines if it is over a certain threshold. If the value is greater than the threshold it will turn on the led and if the output is bellow a certain threshold it will turn the led off.
Processing script:
import de.bezier.sql.*;
import de.bezier.mysql.*;
import processing.serial.*;
MySQL msql;
Serial myPort;
String table = "airTest";
String[] si = new String[636];
void setup()
{
size( 100, 100 );
println(Serial.list());
myPort = new Serial(this, Serial.list()[1], 2400);
msql = new MySQL( "SQL06.FREEMYSQL.NET", "ecovis", "fbitonti", "housebed202", this );
if ( msql.connect() )
{
// create a table with an id and a word
//
msql.execute( "CREATE TABLE IF NOT EXISTS " + table + " ("+
"id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,"+
"word VARCHAR( 255 )"+
")"
);
msql.query( "SELECT * FROM " + table );
int scount = 0;
while (msql.next())
{
String s = msql.getString("word");
si[scount] = s;
int n = msql.getInt("id");
println(s + " " + n);
float f = float(s);
scount = scount + 1;
}
// need to find out how many rows there are in table?
//
msql.query( "SELECT COUNT(*) FROM " + table );
msql.next();
println( "number of rows: " + msql.getInt(1) );
}
else
{
// connection failed !
}
}
void draw()
{
int gg = 0;
while(gg < f =" int(si[gg]);">0){
delay(1000);
println("port");
println(myPort.available());
if (myPort.available() == 0) {
delay(1000);
int x = int(si[gg]);
println(x);
myPort.write(x);
println("value");
println(si[gg]);
gg = gg + 1;
// myPort.stop();
}
myPort.clear();
delay(1000);
}
}
}
pbasic Script:
' {$STAMP BS2}
' {$PBASIC 2.5}
check VAR Byte
proIn VAR Byte
Main:
DO
check = IN3
proIn = IN10
SERIN 16, 16780, [proIn]
IF proIn <> 13 THEN
LOW 14
ENDIF
LOOP
END
Labels: mf
Possible Output Scheme
tyler.chie.sergio
Labels: TSC