Sunday, May 22, 2011

ciberobjeto3 -- impresión y soldadura PCB's DIY.





















ciberobjeto3



Y de nuevo una versión de ciberobjeto. Esta vez decidimos profundizar un poco en prototipar y generar PCB's: el primer ejercicio se trató de generar objetos electrónicos sonoros e interactivos con ayuda de transistores, resistencias (fotoceldas y protenciometros), condesadores y/o un 555...

Saturday, December 11, 2010

CiberObjeto 2 -- Arduino

El siguiente paso fue mirar más detenidamente lo que significa en computación un bit o un byte, las diferencias entre análogo y digital.




Nos acercamos a programar con Arduino usando los puertos análogos con una fotocelda y un potenciómetro (http://wiring.org.co/learning/basics/photoresistor.html & http://arduino.cc/en/Tutorial/AnalogReadSerial )





int sensor = 0;

void setup (){
Serial.begin(9600);
}

void loop (){
//Serial.println(sensor); // imprimir resultados
delay(1000); // pausa entre variable y variable/
sensor = analogRead (0); // lee el sensor sgun el pin de entrada
if (sensor >= 512) {
Serial.println("esta oscuro");
}
else {
Serial.println("esta claro");
}
}





Para luego pasar a un programa que nos permite distribuir los valores análogos de la fotocelda a un speaker que genera notas músicales con los cambios de luz en el ambiente.

const int soundPin = 9;

int sensor = 0;

void setup (){
Serial.begin(9600);
pinMode(soundPin, OUTPUT);
}

void loop (){
sensor = analogRead (0); // lee el sensor sgun el pin de entrada
if (sensor >= 0&&sensor<=128) {
play(1);
}
else if (sensor >= 129&&sensor<=256){
play(2);
}
else if (sensor >= 257&&sensor<=384){
play(3);
}
else if (sensor >= 385&&sensor<=512){
play(4);
}
else if (sensor >= 513&&sensor<=640){
play(5);
}
else if (sensor >= 641&&sensor<=768){
play(6);
}
else if (sensor >= 769&&sensor<=896){
play(7);
}
else if (sensor >= 897&&sensor<=1023){
play(8);
}
}

void play (int val){
switch (val){
case 1:
digitalWrite(soundPin, HIGH);
delayMicroseconds(1915);
digitalWrite(soundPin, LOW);
delayMicroseconds(1915);
case 2:
digitalWrite(soundPin, HIGH);
delayMicroseconds(1700);
digitalWrite(soundPin, LOW);
delayMicroseconds(1700);

case 3:
digitalWrite(soundPin, HIGH);
delayMicroseconds(1519);
digitalWrite(soundPin, LOW);
delayMicroseconds(1519);

case 4:
digitalWrite(soundPin, HIGH);
delayMicroseconds(1432);
digitalWrite(soundPin, LOW);
delayMicroseconds(1432);

case 5:
digitalWrite(soundPin, HIGH);
delayMicroseconds(1275);
digitalWrite(soundPin, LOW);
delayMicroseconds(1275);
case 6:
digitalWrite(soundPin, HIGH);
delayMicroseconds(1136);
digitalWrite(soundPin, LOW);
delayMicroseconds(1136);
case 7:
digitalWrite(soundPin, HIGH);
delayMicroseconds(1014);
digitalWrite(soundPin, LOW);
delayMicroseconds(1014);
case 8:
digitalWrite(soundPin, HIGH);
delayMicroseconds(956);
digitalWrite(soundPin, LOW);
delayMicroseconds(956);
}
Serial.println(val);
}


CiberObjeto 2 -- 1er día

Esta vez el taller estuvo compuesto por interesados desde el campo de la música, el diseño y arte.

Lo primero fue interpretar los símbolos y hacer referencia al su correspondencia en el mundo físico y su función en el mundo electrónico.







Luego empezamos a ensamblar un primer circuito.




Para terminar haciendo un experimento sonoro: un oscilador de transistores, un circuito muy sencillo, que permite generar frecuencias de onda audibles.






Tuesday, November 17, 2009

Delay 5v a 110/220v








Pare este circuito, usamos un optocoplador y un triac, para hacer encender la lámpara desde un blink de arduino.

Monday, November 16, 2009

pre amplificador micrófono

signos de microelectrónica

CiberObjetos   (día 3)


Circuito pre amplificador con un transistor npn.





Armando los circuitos




Ejercicio en casa

video