Biônicos (Alberto Salgado Harres e Igor Abreu)
A virtualidade como prática antropofágica
Biônicos é um grupo de desenvolvimento em arte, programação e eletrônica iniciado no Núcleo de Novos Organismos (NANO/UFRJ) em março de 2013. É formado por integrantes de meios interdisciplinares como estudantes de design, artes visuais e educação artística. Ao longo dos meses de trabalho em conjunto têm sido desenvolvidas pesquisas em áreas como estética glitch com databendings, programação criativa, eletrônica básica, arte sonora e composição de imagens digitais.
A̮̜͗̄̄͂̎̊̅ ͖̘̰̣̆ͬc̱̘̙̪̾ͭ̈̅ͯ́́͡o͈̤̜͉̖̻̲̔̓͐̒̆͜ͅn͍̥̬͍̟͔͔ͥͮ͗͒͟t̟̪̼̹͗̇̿̏͡͡r̩͇͗ͩ͒ͪ͆ͤ͋̾͘͝ị͕̬̬͕̠͓͈͂ͧ͂́ͩͅb̷̤̪̱̜̠̏ͫͫǘ͚̜͇̔̋̋̀͛ͦ̏ͨͅî̜̩̀͟ç̢̀ͣͮ͏̫͞ḁ̴̱̃̉͑͆ͦ͐o̩͉̜ͬ͜ ̷̦͈͇̼̣̘̪͆͌̿̐̔͒̕m̜͍̞̯̩̺̓̈́̐͊i̴̛̭ͣl̨͕̭̩͕̣̓̇ͫ͒̒̐̀ͅi̴͉̹̦͇̜̠̤̍o͎͈̭̟̹̼̍ͩͣͭ̚͘͝ņ͍̜̱͖ͨͯ̈́ͬͧͧͪ̾͝á̠̯̠ͪͥ͒̌͐̊ͤ̇͘͝r̷̹̙̖͈̅ͫ̍̊ͭͮ͌ͫ̕͠į̠̯̮͖̑̐̓̄ͣ͌͘a̟̹̱̝̔́͘͡ ̜̪͚͉̰̭͚̾͑d̳̓̎͜͡ȩ̫͎̭ͫͥ́͑ͯͦ̓̀͘ ̵̻͖ͥͬ̈́ṱ͓͓͋̓̑͗ͅo̶͂̄͒̓ͫͤ̓͂҉̻͉͇ḑ̝̗̭̳͈͉ͯ͛̿͂o̷̧͙̹͇̜̫͓̓̈ͨͣͩͮs̡͇̣̬͑̐̉͐̕͜ ̡̛͙̖̺͔̺̗̮͚͆͟ọ̧̩̟̟̫̪̬̐͛̓̑̀̔̋͆s͕̑ͯͦ̀̆͜͞ ̲̻͇̋́̅ͩ͘͠ȩ̤̳̮̩̝̖̗̽͂̊͛ͩ͘r̝͕̗̪͈̣͊̓̀̅͋̀r̛̮̘̞͙̼͎̰̉̏̋ͧͦoͯ̐͆̈́͂ͣͮ̂҉̤̰̤̬͉͖̼s̶̡͙͇͛ͩ͋̓̎̋̋ͦ́ͅ
Composição de imagens com elementos captados no ambiente
Desenvolvemos dois códigos que dialogavam com o espaço da casa, um baseado em captação de som e outro que conjugava a temperatura da Serra e da luminosidade ao longo do dia.
Antropofagia do som
Som ambiente
Lá menor
Código em Processing para os gráficos acima
import ddf.minim.*;
Minim minim;
AudioInput in;
void setup()
{
size(1000, 600, P3D);
minim = new Minim(this);
// use the getLineIn method of the Minim object to get an AudioInput
in = minim.getLineIn();
// uncomment this line to *hear* what is being monitored, in addition to seeing it
in.enableMonitoring();
}
void draw()
{
background(0);
stroke (255);
// draw the waveforms so we can see what we are monitoring
for(int i = 0; i < in.bufferSize() - 1; i++)
{
line( i, 100 + in.left.get(i)*4000, 200+i*2, 100 + in.left.get(i)*100 );
line( i++, 300 + in.left.get(i)*6000, 500, 300 + in.left.get(i)*400 );
line( i, 500 + in.left.get(i)*4000, 200+i*2, 500 + in.left.get(i)*100 );
}
}
Representação abstrata da luz e calor
Código em Processing e Arduíno para as imagens acima
(esse código foi conjugado com 1 sensor ldr e 1 sensor de temperatura)
Processing
/ Desenho
float r; // Altura do raio
float circ;
float x, y; // variáveis para definição do movimento espiral.
float theta; // Movimento circular
float corTemp, corLdr;
float accr; // Aceleração do crescimento do raio
void setup() {
size(1024, 800); // Stage size
// Print a list of the serial ports, for debugging purposes:
println(Serial.list());
// Open whatever port is the one you're using.
String portName = Serial.list()[0];
myPort = new Serial(this, portName, 9600);
// Valores iniciais
background(0);
r = 0;
theta = 0;
accr = 1;
noStroke();
}
void draw() {
translate(width/2, height/2);
}
void serialEvent(Serial myPort) {
// read a byte from the serial port:
int inByte = myPort.read();
// Add the latest byte from the serial port to array:
serialInArray[serialCount] = inByte;
serialCount++;
// If we have 2 bytes:
if (serialCount > 1 ) {
valueLdr = serialInArray[1];
valueTemp = serialInArray[0];
// print the values (for debugging purposes only):
println(valueTemp + "\t" + valueLdr + "\t" );
serialCount = 0;
}
// DESENHO
theta+=0.025; // Progressão do ângulo.
x++; // coordenada x do movimento circular
y++; // coordenada y do movimento circular
accr += 0.025;
r += 0.0005 * accr; // Aumento do raio
// Movimento circular
float x = r * cos(theta);
float y = r * sin(theta);
// Cor
noFill();
corTemp = map(valueTemp, 100, 0, 255, 0);
stroke(corTemp, 0, 255-corTemp, valueLdr);
// Círculos
ellipseMode(CENTER);
ellipse(x, y, r/15*valueLdr/100, r/15*valueLdr/100);
if (r>width) {
r=0;
}
}
Arduino
/* Sensor test sketch
for more information see http://www.ladyada.net/make/logshield/lighttemp.html
*/
#define aref_voltage 3.3 // we tie 3.3V to ARef and measure it with a multimeter!
//TMP36 Pin Variables
int tempPin = 0; //the analog pin the TMP36's Vout (sense) pin is connected to
//the resolution is 10 mV / degree centigrade with a
//500 mV offset to allow for negative temperatures
int tempReading; // the analog reading from the sensor
int ldrPin = 1;
int ldrRead;
int inByte = 0; // incoming serial byte
void setup(void) {
// We'll send debugging information via the Serial monitor
Serial.begin(9600);
// If you want to set the aref to something other than 5v
}
void loop() {
inByte = Serial.read();
tempReading = analogRead(tempPin);
ldrRead = analogRead(ldrPin);
int tempOut = map(tempReading, 15, 125, 0, 100);
Serial.write(ldrRead);
Serial.write(tempOut);
delay(50);
}
Oficina de Glitch Arte
Compartilhamos com outros residêntes uma oficina de introdução a estética Glitch e alguns diferentes métodos para a criação de imagens Glitch.
ǒ̷͔̼̪͈̮͍̘̙͍̘̇͊ͦ́̌̾́̂́̂̏͊͝f̵̖̻̗̗̥͍̰͙̘͉̟̱͚ͣ̋͛̐̊ͣ͛ͦ̃͗͗̀͘͢͞iͭͦ̈̑̎̐ͪ̌ͫ̇͜͝͏̜̻̱̻͓͓̖̥̪̠͓͇̞̭̼̬̭ͅͅc̷͐͒̍̀̆̈́ͣ͆҉̖̗̮̮̝̙̞i̡̛͈̯͍͔͈͙̺̰̜̎̏͊̿ͧ͗ͨ̄̌̾̌́̔ͯ́̋͛̀͊̕͟n̷̴̨͚̲͔̭̄̍͆̇̑̈ͪ̀̓͒ͬ̏́́ͦ̽͛͆͢a̪̳̤̳̣̙̥͙̥̥̝͖͙͍̩̱͉ͫ͐͗͊̃̽̑̒̅͂ͪ͆͛̊͜͠ ̨̝͎̝͔͑́̊̍̎͊̋ͥ̅͊̎͜c̡͎̫͇̠̥̭̮͕̪̃̓͆̿͌́͢͡ŗ̛̝͖͚̟̜͖̰̭͈̲͕̤͇͎̻̻̦̲̠͋͊̔̔͆͊͒̄͌̋̂̓͒͜͞i͌̒̑̂̃ͬͪͨͣ̇ͨ͏̢̮̺̗̠͉̝̟̫͈̲̥͡à̧͕̙͈̭̌̂ͪ̈́͆ͥͩͭͤ̈́͑͌̎ͦ̀́͘͟ç̶̵̛̻͚̣͎̪͔̳̣͉̝̦̙̤͋ͧ̾̇̈́͝ãͩ̿ͥͧ̐͋̚͏̡͚͈̬̤̟͇̞͈͉̹͍͖͚͈̲̠̯̬͝ͅǫ̵̷̡̟̱͙͚̭̲̭̻̗̹̳ͩͫ̆̃͆͝ͅ