lunes, 22 de noviembre de 2010

Programación

/*
 Piezo
 Enciende LEDs conectados a los pines digitales 13-12-11 y motores en los pines 10-9-8
 según la señal del mic conectado a el pin analogico 5
 La sensibilidad es controlada por un Pote
 */
//Guerda el umbral de sensibilidad que disparará la acción
int Umbral[100];
long Umbralx;
int Umbrali;
int xx;
int tomas;
void setup()
{
    tomas=40;
    pinMode(13, OUTPUT);
    pinMode(12, OUTPUT);
    pinMode(11, OUTPUT);
    pinMode(10, OUTPUT);
    pinMode(9, OUTPUT);
    pinMode(8, OUTPUT);   
    analogReference(EXTERNAL);
    Serial.begin(9600);  
}
void loop()
{
   xx=xx+1;
   if (xx>tomas)
   {
     xx=1;
     Umbralx;
     for (int yy=1;yy<tomas+1;yy++)
     {
     Umbralx=Umbralx+Umbral[yy];
     }
     Umbralx=Umbralx/tomas;
   }
  
   Umbrali=analogRead(5);//Lee el valor del mic

   // estabilizacion **************
   //if (Umbrali<500)
   //{
   //  Umbrali=Umbral[xx];
   //} 
  //******************************
  
   Umbral[xx]=Umbrali; 
   Serial.print(Umbralx,DEC);
   Serial.println(0);
     if (Umbralx<1000)
    {
    if (Umbralx > 880)
      {
       digitalWrite(13,HIGH);
       digitalWrite(12,LOW);
       digitalWrite(11,LOW);
       digitalWrite(10,HIGH);
       digitalWrite(9,LOW);
       digitalWrite(8,LOW);
      }
    else
      {
      if (Umbralx >800)
        { 
       digitalWrite(13,HIGH);
       digitalWrite(12,HIGH);
       digitalWrite(11,LOW);
       digitalWrite(10,HIGH);
       digitalWrite(9,HIGH);
       digitalWrite(8,LOW);
        }
      else
        {
       digitalWrite(13,HIGH);
       digitalWrite(12,HIGH);
       digitalWrite(11,HIGH);
       digitalWrite(10,HIGH);
       digitalWrite(9,HIGH);
       digitalWrite(8,HIGH);
        }
      } 
    } 
  else
    {
    digitalWrite(13,LOW);
    digitalWrite(12,LOW);
    digitalWrite(11,LOW);
    digitalWrite(10,LOW);
    digitalWrite(9,LOW);
    digitalWrite(8,LOW);
    }
}

martes, 16 de noviembre de 2010

Proceso

 Lo primero que hicimos fue montar en un protoboard tres leds, cada uno con una resistencia de 270 ohms;
tres motores de corriente continua, conectados al integrado ULN2803 y alimentados con 9V; y un amplificador
de un solo transistor NPN 3904. El circuito del amplificador, que encontramos en la siguiente página (http://www.dtic.upf.edu/~jlozano/interfaces/blow_sensor.html) esta pensado para un sensor piezoeléctrico el cual
probamos y no nos convenció, ya que la variación de la señal resultante era bastante pobre.
Por esta razón, decidimos utilizar un micrófono.

La programación del arduino nos costó bastante. Debíamos dividir en tres partes un rango que seguía siendo muy acotado, por esto tuvimos que buscar ayuda en foros y paginas sobre programación.   

Luego, procedimos con la parte física del proyecto preparando tres copas de plástico, cada una con una rejilla de colador y bolitas de telgopor encima. Abajo del colador instalamos los ventiladores.

A los leds los ubicamos en la parte superior de las copas y ocultos tras una capa de pintura negra con la intensión de que solo sea visible su iluminación.

 Más tarde armamos una caja con piezas de madera para contener en su interior toda la circuitería electrónica. En el frente de la caja le adicionamos la base del micrófono.

 En la tapa hicimos los tres agujeros por los cuales salen los ventiladores.

 Pintamos las copas con aerosol de color negro mate.

Trasladamos todo el circuito del protoboard a una plaqueta ranurada, la cual montamos sobre el arduino.

miércoles, 13 de octubre de 2010

Requerimientos tecnicos

Microfono
Micro Atmega 328
3 baterias de 9v.
Pre amplificador
Microfono de pc.
3 leds (azul, rojo y amarillo)
3 motores de CC
Micro ULN2803
Varios: resistencias, capacitores.






Luz tenue (preferentemente). Recinto cerrado para evitar corrientes de aire innecesarias.

Memoria descriptiva

Este dispositivo, tiene como fin decodificar las distintas intensidades del soplido del usuario en una escala del 1 al 3.
De acuerdo a esta escala, se encendera un ventilador, que a su vez hará girar pequeñas bolitas de telgopor. Las mismas seran iluminadas por distintos leds de colores que tambien son activados por el soplido.
El color rojo corresponde a una intensidad baja de soplido.
El color amarillo una intensidad media.
El color azul una intensidad alta.

Memoria conceptual

ZOPLAR busca jugar con la sinestesia. Los colores que podemos llegar a interpretar con distintas intensidades, y a su vez acompañarlos de ciertas acciones que refuerzan este proyecto.
Esto denotara una plena sensacion de transduccion humana-electronica, la cual devenira del soplido del usuario, simulando el soplido generado de una maquina.
Intensidades de soplidos distintas = colores diferentes y acciones motoras acordes.