pulsos/organismos #cotidianosensitivo
este post faz parte do projeto cotidiano sensitivo que é um estudo sobre internet das coisas e ambiente-device nas comunidades brasileiras.
este texto também foi publicado aqui.
olá! vamos iniciar os estudos de eletrônica artesanal-diy-afetiva e seus desvios dentro desta pesquisa.
este post está relacionado a circuitos que emitem pulsos/clock precisos, bastante usado em projetos de osciladores e controladores de sistemas e motores.
a idéia desse primeiro experimento é buscar uma outra relação com esse tipo de circuito.
o chip que vamos usar é o 555, muito popular e fácil de encontrar em qualquer loja de eletrônica no brasil.
podemos considerar que esses chips, além das suas funcionalidades na indústria, são organismos híbridos que recebem informações, tratam os dados e transformam-os em pulsos para controlar algum outro sistema.
o processo de funcionamento dos chips são pragmáticos, o que deixa complicado encontrar caminhos/metáforas que se relacionam com nosso cotidiano.
caminho:
1. recebe energia; // luz, movimentos, natureza
2. atravessa as resistências e carrega positivamente o pulso;
3. alimenta o capacitor e descarrega o pulso. // timbre, intensidade do pulso
(esquema protoboard)
como acoplar as entranhas deste circuito-funcional numa escala real-física onde os processos são caóticos e desequilibrados?
podemos pensar numa situação onde organismos-pulsos recebem energia dos desequilíbrios(?!) do cotidiano e através de uma malha de resistência e capacitores enviam pulsos para outros organismos em rede, criando um ecosistema(circuitos compartilhados) que vivem desses (im)pulsos urbanos…
cada lugar/cultura/cotidiano tem sua frequência/clock/pulso, e esse dado são alterados com esses desequilíbrios… é como se fosse um sistema com vários capacitores de níveis diferentes e diversas resistências variáveis disponíveis para alterarem o curso, o movimento…
não se trata de uma simulação, nem de representação do cotidiano, mas de organismos que se desequilibram e se alimentam desses dados…
segue;
monome display
seria interessante tentar fazer algo parecido com isso
alguns nortes para usar com arduino -> LedControl e Analog multiplex/demultiplex
Fritzing

Fritzing is an open-source initiative to support designers and artists to take the step from physical prototyping to actual product. We are aiming to create a software in the spirit of Processing and Arduino, that allows the designer/artist/researcher/hobbyist to document their Arduino-based prototype and create a PCB layout for manufacturing. The complimenting website helps to share and discuss drafts and experiences as well as to reduce manufacturing costs. saiba mais…
massa né? gosto desses projetos que permitem aproximar artístas e programadores. Inteligência coletiva! Engenheiros de mundos… façam seus próprios mundos.. chamem seus amigos!
p.alfa#001
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..




ricardo brazileiro é cientista da computação com experiência em arte eletrônica, internet e educação. Atualmente é mestrando em ciências da computação no Centro de Informática da UFPE e é sócio do laboratório 3Ecologias.net onde realiza trabalhos de consultorias em Educação e Tecnologias.
