Medición de distancias con HC-SR04 y Minibloq

Si queremos construir un robot que detecte obstáculos, un medidor de nivel de líquidos o resolver cualquier otra situación que requiera la medición de distancias, tenemos a nuestra disposición una variedad de dispositivos que funcionan en base a la técnica de ultrasonidos. Uno de los mas populares, por su precio, disponibilidad y facilidad de uso es el módulo HC-SR04, ampliamente utilizado en aplicaciones con Arduino y para el cual existen varias librerías de código que nos facilitan su aplicación. En este artículo veremos como usarlo empleando Minibloq en una placa Arduino UNO.

Introducción

Minibloq es un entorno de desarrollo visual sumamente apropiado para aquellos que recién comienzan a programar placas Arduino y aún no quieren sumergirse en la complejidad del lenguaje C.

Permite construir los programas (“componentes” en la terminología de Minibloq) en base a una serie de módulos o bloques que se encastran en forma gráfica, permitiendo diseñar aplicaciones en forma simple y muy intuitiva.

Minibloq dispone de bloques para todas las operaciones básicas que puede tener un programa Arduino y algunos mas específicos, para algunos dispositivos que se usan con frecuencia, tales como el módulo HC-SR04.

Fig. 1. Grupo de bloques de sensores específicos

Conexión del HC-SR04

Como se puede ver en la Fig. 2, el HC-SR04 tiene 4 pines. Vcc y GND son los de alimentación (+5V y masa) respectivamente y Trig y Echo son pines de datos.

Para realizar una medición se debe aplicar un pulso en Trig y luego leer el “rebote” en Echo.

Afortunadamente, usando Minibloq no debemos preocuparnos de estos detalles, ya que el módulo incluido se encarga de todo el trabajo, sólo debemos conectar Trig y Echo a dos pines digitales de la placa Arduino.

Fig. 2. Pines del HC-SR04

El programa

Cuando usamos un bloque de Minibloq que realiza alguna operación sobre las entradas o salidas (como leer una entrada analógica o escribir en una salida digital) debemos especificar sobre que pin de la placa que estamos usando realizaremos esta operación.

En el caso del bloque del sensor HC-SR04 debemos decirle en qué pines hemos conectado las señales Trig y Echo.

Aquí, el módulo nos impone una limitación: como acepta un único valor, éste debe ser el pin correspondiente a Trig y Echo debe ser conectado en el pin siguiente.

Así, si en nuestra placa Arduino UNO conectamos Trig en el pin 2, Echo debe estar conectado en el pin 3.

Si no lo hacemos así, el módulo no será capaz de leer los datos del HC-SR04 correctamente.

Fig. 3. Pines del sensor

En este ejemplo conectaremos el módulo de esa forma (Trig en el pin 2 y Echo en el pin 3) y agregaremos dos leds para señalización en los pines 8 y 9.

En la siguiente imagen podemos ver el circuito completo hecho con Fritzing.

 Fig. 4. Circuito completo

A continuación puede verse el “componente” diseñado en Minibloq.

A los fines de probar el medidor de distancias, tiene una pregunta donde se compara la distancia medida con 10 cm.

Si la medida es menor o igual, se prende el led rojo (y se apaga el verde). Si por el contrario la distancia es mayor a 10 cm, se prende el led verde (y se apaga el rojo).

Esta pregunta esta seguida de un retardo (siempre debe existir una demora entre dos lecturas del HC-SR04) y todo está encerrado en un bucle que se repite indefinidamente.

Fig. 5. Componente de prueba en Minibloq

En este video puede verse el medidor de distancias en funcionamiento. Observen como prenden los leds a medida que se acerca y aleja un objeto.

Este es sólo un ejemplo de uso de este sensor y como programarlo empleando Minibloq, a partir de aquí se puede aplicar en una infinidad de proyectos.

¿Cómo lo usarían ustedes?

Para aprender más

Manual de uso de Minibloq

Manual de uso del HC-SR04

Página de Fritzing, para hacer el circuito

El HC-SR04 para usar en Fritzing

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Habilitar notificaciones OK No, gracias