Duda-Sensor de ultrasonidos

¡Hola a todos!

Este es mi primer mensaje aquí. Personalmente, no me gusta registrarme y que mi primer mensaje sea para pedir algo, pero es que necesito vuestra ayuda. Además corre algo de prisa, puesto que es un proyecto que nos acaban de encargar para la semana que viene.

A modo de presentación, deciros que soy un estudiante de 2º Bachillerato (científico, of course XD) que se acaba de iniciar con esto de Arduino. Lo único que he conseguido es hacer funcionar los códigos de ejemplo con leds :frowning:

Resulta que estoy intentando construir un Theremin casero (http://luckylarry.co.uk/arduino-projects/arduino-a-basic-theremin/). Tengo todos los componentes, pero, el sensor de ultrasonidos no es como el que se emplean en los tutoriales que estoy viendo.

En casi todos se usa un SRF05, pero donde vivo sólo disponen del transmisor y el receptor independientes.

El problema es que el SRF05 tiene 4 salidas: 5V, GRN, 2 para digital pins.

Con los sensores por separados, no sé como conectaros entre sí para tener las mismas salidas que arriba.
Lo que sí he conseguido es que tenga 3 salidas, pudiendo realizar así esto:

Pues ése es el problema, ¿cómo hacer que tengan 4 salidas mis sensores o cómo adaptar el código para 3 entradas?

Muchísimas gracias a todos por vuestra colaboración y sobre todo, perdonad las molestias que os pueda causar.

Les saluda cordialmente,

Antonio

//--------------------------------------------------------------------------------------
// Diesel Level Calculation
//--------------------------------------------------------------------------------------
void diesel()
{
//----------------------------- START ---------------------------------
//---------------------- ULTRASONIC SENSOR -----------------------------
//----------------------------------------------------------------------
   // establish variables for duration of the ping, 
  // and the distance result in inches and centimeters:
 // long duration, inches, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(15);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(20);
  // The same pin is used to read the signal from the PING))): a HIGH
  // pulse whose duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  inches = duration / 74 / 2;
  cm = duration/ 29 / 2;

  
  delay(100);
//------------------------------ END -----------------------------------
}

Por si a alguien le sirve, en el foro inglés me han respondido esto:

cr0sh

The sensors (image) you've posted are of the raw ultrasonic transmitter and receiver transducers; an ultrasonic sensor (like the SRF05) consists of more than just those two parts - there are extra parts like amplifiers and such to drive the transducers. So tell us: Are you attempting to use "bare" sensors components, or do you have a complete ultrasonic module like the SRF05 (just one with three pins versus four)?

If the former, then you'll have a lot of extra work to do to get them to work (you can't just "hook them up" - there's a bunch of external circuitry involved); if the latter, then telling us what sensor module you have will be helpful.

Básicamente, que no se pueden usar los sensores por separado...

Buscaré algún otro proyecto para presentarlo :frowning:

Muchas gracias a todos

No sabes cuanto me alegro leer que Arduino se usa en los IES.
El SRF05 lleva un pic y un operacional creo recordar. Las capsulas son iguales que las que puedes conseguir pero no te valdrán de mucho porque necesitas componentes externos para conectarlo al arduino.

Puedes comprarlo en ebay por 6 Euros y es igual que el SRF05
http://cgi.ebay.es/Arduino-Sensor-Distance-Measuring-Module-Ultrasonic-AVR-/130513537507?pt=BI_Security_Fire_Protection&hash=item1e633689e3

Salu2

Lo primero, muchas gracias a todos por ayudarme :wink:

Después, al ver que con sensores de ultrasonidos independientes esto no va, (además en Ebay tardan demasiado, lo necesito para esta semana...) estaba yo pensando hacer el Theremin con sensores IR

Rebuscando un poco por mi casa he encontrado varios leds IR y dos receptores IR (como este: http://es.farnell.com/vishay/tsop4838/ir-receiver-38khz/dp/4913190)

¿Podría funcionar con esto?

¿Sería posible seguir este tutorial con los sensores que tengo?

http://mechomaniac.com/SimpleArduinoTheremin

Muchas gracias a todos otra vez :wink:

Como te comentan arriba, el transductor SRF05 lleva electrónica adicional.

Para utilizar el emisor y receptor a pelo, con entradas/salidas digitales, es necesario:

  • Generar un tren de pulsos (onda cuadrada) para excitar el emisor (> 20KHz, generalmente se utiliza 40kHz). Esto se puede conseguir montando un multivibrador astable con un 555 o también puedes hacerlo por SW si el uC es lo bastante rápido.

  • Amplificar la señal recibida por el receptor, ya que esta se recibe la onda atenuada. Para ello puedes montar un comparador con histéresis utilizando un amplificador operacional. Con esto conviertes la señal recibida a valores de 0 o 5V que necesitas para la entrada digital Si el convertidor AD del arduino es lo bastante rápido puedes hacer esta parte en SW.

  • Para calcular la distancia debes contar el tiempo transcurrido entre la emisión del tren de pulsos y su recepción. Con este tiempo y el valor de la velocidad de propagación del sonido en el aire puedes calcular la distancia aproximada (recuerda que el tiempo obtenido es el de ida + el de vuelta, por lo que tienes que dividirlo entre 2).

Para que funcione correctamente se suele dejar de emitir antes de escuchar el eco, de no hacerlo, se corre el riesgo de que la señal se transmita por el soporte de los sensores (emisor/receptor) en modo de vibraciones. Tambien es buena idea utilizar un soporte que no sea rígido para reducir este efecto.

Como ves, es bastante más complicado que usar un SRF05, aunque también es más barato.

Ánimo y suerte con el proyecto