Primeira etapa do projeto de construção de ferramentas artístico-interativas usando tecnologias/organismos livres..
Misturas lúdicas de bits, organismos, soldas, fios, voltz,…
Plataformas:
Arduino + Processing + PD + Protoboard + LDR + Potenciometros + peixe beta(alfa) + pdp_ctrack (rgb:15,15,0);
obra-fluxo… 
obra-processo…

obra-acontecimento..

… universal sem totalidades..

fluxos de bits:
arduino:
int redPin = 0;
int greenPin = 1;
int bluePin = 2;
int ldrPin = 3;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print(”R”);
Serial.println(analogRead(redPin));
Serial.print(”G”);
Serial.println(analogRead(greenPin));
Serial.print(”B”);
Serial.println(analogRead(bluePin));
Serial.print(”L”);
Serial.println(analogRead(ldrPin));
delay(100);
}
processing: LedsAlfaRemixes
import processing.serial.*;
import oscP5.*;
import netP5.*;
String buff = “”;
int rval = 0, gval = 0, bval = 0, lval=0;
int NEWLINE = 10;
Serial port;
//PD
OscP5 conectarOSC;
NetAddress conectandoPD;
int captura = 0;
//PD
void setup()
{
size(500, 500);
noStroke();
smooth();
// Print a list in case COM1 doesn’t work out
println(”Available serial ports:”);
println(Serial.list());
//port = new Serial(this, “COM1″, 9600);
// Uses the first available port
port = new Serial(this, Serial.list()[0], 9600);
//PD
conectarOSC = new OscP5(this,12000);
conectandoPD = new NetAddress(”127.0.0.1″,12000);
//PD
}
void draw()
{
while (port.available() > 0) {
serialEvent(port.read());
}
//background(random(lval*2), random(lval), random(lval));
fill(captura);
ellipse(random(captura*2),captura, 50,50);
for(int i=0; i<height; i+=20) {
// println(”o valor de i eh “+i);
fill(rval,gval,bval);
rect(0,i,width,10);
fill(random(0,100));
rect(0,i,width,10);
fill(random(rval), random(gval), random(bval));
rect(i,0,10,height);
}
}
void serialEvent(int serial)
{
// If the variable “serial” is not equal to the value for
// a new line, add the value to the variable “buff”. If the
// value “serial” is equal to the value for a new line,
// save the value of the buffer into the variable “val”.
if(serial != NEWLINE) {
buff += char(serial);
}
else {
// The first character tells us which color this value is for
char c = buff.charAt(0);
// Remove it from the string
buff = buff.substring(1);
// Discard the carriage return at the end of the buffer
buff = buff.substring(0, buff.length()-1);
// Parse the String into an integer
if (c == ‘R’)
rval = Integer.parseInt(buff);
//println(”rval “+rval);
else if (c == ‘G’)
gval = Integer.parseInt(buff);
//println(”gval “+gval);
else if (c == ‘B’)
bval = Integer.parseInt(buff);
else if (c == ‘L’)
lval = Integer.parseInt(buff);
//println(”bval “+bval);
// Clear the value of “buff”
buff = “”;
}
}
void oscEvent(OscMessage theOscMessage) {
println(” saida do PD: “+theOscMessage.get(0).intValue());
captura = theOscMessage.get(0).intValue();
}
pdp..
