En este post se presenta la práctica número 6 de S4A. Esta práctica utiliza el sensor de ultrasonidos HC-SR04 con el objetivo de dectectar un objeto. La detección de un objeto es una funcionalidad atractiva y deseable para cualquier robot que presente movimiento ya que le aporta la posibilidad de orientarse por el espacio.
El sensor de ultrasonidos que vamos a usar es el sensor HC-SR04 que es un dispositivo de 4 terminales que emite a una frecuencia imperceptible para nosotros (del orden de 40KH) y que nos aporta una medida de la distancia a la que se encuentra el objeto que está detectando.
En la siguiente imagen se observan las 4 patillas del dispositivo: las dos laterales derecha e izquierda se corresponden, respectivamente, con tierra (GND) y la tensión de alimentación (Vcc), mientras que los dos terminales intermedios, llamados Trig y Echo, son los pines de datos del dispositivo.
Sensor HC-SR04 |
El sensor funciona de la siguiente forma:
- 1º Lanza un pulso de ultrasonidos en el transductor emisor o Trig.
- 2º El otro transductor, Echo, escucha el eco que se produce al chocar el pulso de ultrasonidos con el objeto y rebotar. Esta patilla Echo es, por lo tanto, la receptora del eco.
Dicho así, todo parece indicar que este dispositivo mide tiempos y no distancias. Inicialmente, el sensor mide el tiempo que tarda el pulso en salir de Trig y ser detectado por el Echo, pero a mayores, realiza el cálculo de la distancia a la que está el objeto y nos lo muestra en la patilla Echo. Para ello realiza internamente dos operaciones: por un lado utiliza la fórmula del espacio recorrido por un móvil que se mueve a velocidad constante, que no es más que el espacio recorrido por el pulso desde que se emite hasta que llega al transductor receptor (usando como velocidad del pulso la velocidad a la que se propaga el sonido en el aire, 340m/s); y por otro lado, realiza una última operación matemática al dividir ese espacio entre dos. Hay que darse cuenta que la distancia que recorre el pulso no es la distancia a la que se encuentra el objeto. De hecho, la distancia que recorre el pulso es el doble de la distacia real del sensor al objeto. Toda esta explicación se clarifica y se entiende con la siguiente imagen:
Funcionamiento del sensor de ultrasonidos |
Al crear esta práctica en el entorno S4A me encuentro con el problema de que en el firmware actual no se ha programado este dispositivo. Por lo tanto, si quiero usarlo con S4A deberé modificar su firmware y cargarlo a la placa arduino. En el siguiente link se nos ofrece la respuesta a cómo hacerlo aportándonos un firmware en el que ya está programado este sensor y es el firmware que he utilizado en la práctica (S4Afirmware14_distancia.ino)
Ya en el entorno S4A diseño dos objetos: un objeto arduino que llamo "ArduinoBat" por ser un murciélago y un objeto que llamo "PlofBat" que se moverá por el eje X del escenario según el valor de la distancia que detecte el sensor de ultrasonidos. El programa creado combina efectos de color y sonido atendiendo a la cercania o lejanía del objeto móvil al objeto arduino.
En el siguiente vídeo se muestra en acción al sensor, tanto de forma física en el circuito real, como en la animación creada en S4A y conectada al circuito real:
Práctica 6: Detección de un objeto por medio de un sensor de ultrasonidos from Susana Oubiña Falcón on Vimeo.
Este vídeo muestra el funcionamiento de la práctica 6. En ella se usa el sensor de ultrasonidos HC-SR04 para detectar la proximidad de otro objeto. Los pines de la placa arduino son el pin digital 10 como Trig y el analógico A5 como Echo (esta última nos aporta la distancia).
El desarrollo completo de la práctica, paso a paso, explicando el montaje y el programa, puede verse en el siguiente link:
No hay comentarios:
Publicar un comentario