¿Conoces el funcionamiento del sensor de ultrasonidos? Mira como funciona uno de los sensores más utilizados para iniciarse en la programación y la robótica.
El sensor de ultrasonidos basa su funcionamiento en el mismo principio que usan algunos animales como los murciélagos o las ballenas. Se envía una onda sonora y se analiza la onda reflejada para saber a qué distancia se encuentra el objeto que ha reflejado la onda.
En el caso del sensor de ultrasonidos se utiliza un emisor para emitir una onda de sonido de alta frecuencia (ultrasonido) y un receptor para escuchar la onda reflejada. Aprovechando la forma cilíndrica de emisor y receptor encontramos el sensor de ultrasonido representando los «ojos» del robot en muchos kits de robótica educativa, y en cierto modo realmente es la herramienta que vamos a utilizar para «ver» lo que el robot tiene delante.
El sensor de ultrasonidos sirve para medir distancia por lo que en robótica educativa vamos a poder utilizar para localizar un obstáculo y poder evitarlo. También podremos detectar los límites de una mesa para que no caiga el robot orientando hacia el suelo el sensor. Seremos capaces de detectar las paredes de un laberinto para poder encontrar la salida.
A nivel industrial este tipo de sensor de ultrasonidos se utiliza habitualmente para medir el volumen de líquidos en depósitos y tanques.
En general lo podemos usar siempre que tengamos la necesidad de medir una distancia.
Si nuestra aplicación lo necesita podríamos utilizar varios sensores de ultrasonidos y analizar su respuesta por separado.
La manera de trabajar con un sensor de ultrasonidos es la siguiente, poniendo como ejemplo el sensor HC-SR04, que es el más utilizado en prototipos y en robótica educativa con Arduino o Raspberry.
Por el pin de trigger se le envía al sensor la petición de lectura mediante un pulso TTL de al menos 10µs (un «1» lógico, para entendernos).
En ese momento el sensor de ultrasonidos va a enviar por su emisor una onda sonora de 8 pulsos a 40KHz (onda de ultrasonidos que no puede escuchar un ser humano). Tras el último pulso el sensor pone su pin de echo (eco en inglés) a «1».
La onda se transmitirá por el aire rebotando en un objeto que se encuentre a menos de 4 metros y dentro de un ángulo de 30º.
La onda reflejada llegará al receptor y será interpretada por el sensor de ultrasonidos que pasará el pin de echo a «0» tras recibir el último pulso reflejado.
De esta manera hemos tenido el pin de echo a «1» durante el tiempo que las ondas de ultrasonidos han necesitado para ir y volver reflejadas del objeto.
Sabiendo que la velocidad del sonido es de aproximadamente 340m/s (343,2m/s a 20º de temperatura ambiente), podremos calcular la distancia recorrida por la onda para ir y volver. Lógicamente esa distancia la acabaremos dividiendo por dos para establecer la distancia aproximada a la que se encuentra el objeto.
De esta manera trabajaremos con Arduino o con Raspberry. Ya veremos con detalle las librerías e instrucciones necesarias.
Lo bueno de los kits de robótica educativa es que suelen trabajar con lenguajes visuales con bloques de instrucciones, de manera que no es necesario entender todo el funcionamiento del sensor de ultrasonido, bastará con utilizar el bloque de lectura de dato.
Por ejemplo en la práctica con sensor de ultrasonidos con mBot puedes ver como se utilizan los bloques para obtener la distancia en mBlock de Makeblock.
De la misma manera con el bloque concreto consultaremos la distancia obtenida por el sensor con Mindstorm de Lego.
La utilización del sensor de ultrasonidos es excelente para iniciarse en programación o introducir la robótica educativa, ya que es sencillo de introducir en el programa y permite tener de manera muy directa una lectura del entorno que rodea al robot.
Posteriormente se puede avanzar todo lo que se quiera promediando distancias o usando más de un sensor de ultrasonidos para una «visión» completa del escenario con el que interactúa el robot.
En este vídeo podéis ver los sensores de ultrasonidos de los kits de robótica educativa de Lego Mindstorm EV3 y de Makeblock así como el sensor de uso genérico HC-SR04.
Puedes conectar la información técnica del sensor de ultrasonidos HC-SR04 en este pdf.
Si tienes cualquier duda utiliza los comentarios de la entrada o ponte en contacto e intentaré ayudarte.
Dani S.
HOLA, PURA VIDA HAY FORMA DE CONECTAR UN HC-SR04 A UN MINDSTROM
Hola,
Nunca me he puesto a conectar un HC-SR04 aun Mindstorm y en principio no creo que se pueda. Si tu proyecto lo justifica porque quieras usar varios sensores puedes utilizar una placa Arduino que te haga de «traductor» o escribir el código necesario utilizando leJOS en vez de el sistema nativo de Mindstorms. Ya te digo, mucho trabajo de no ser que económicamente se justifique por el uso de varios sensores.
Dani S.