Sunday, May 22, 2011

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

DSC06601DSC06600 DSC06421

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);
}


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

Sábado 14 de noviembre

salida digital a 110v

+ 5v --- 110v control. (circuito con optocoplador y triac)

internal timer (variables & words length)

LM35 (temperatura)

Preamplificador para audio