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͌̒̑̂̃ͬͪͨͣ̇ͨ͏̢̮̺̗̠͉̝̟̫͈̲̥͡à̧͕̙͈̭̌̂ͪ̈́͆ͥͩͭͤ̈́͑͌̎ͦ̀́͘͟ç̶̵̛̻͚̣͎̪͔̳̣͉̝̦̙̤͋ͧ̾̇̈́͝ãͩ̿ͥͧ̐͋̚͏̡͚͈̬̤̟͇̞͈͉̹͍͖͚͈̲̠̯̬͝ͅǫ̵̷̡̟̱͙͚̭̲̭̻̗̹̳ͩͫ̆̃͆͝ͅ