Medir distancias (sensor ultrasonidos HC-SR04)


Si disponemos de un sensor de ultrasonidos HC-SR04, podremos realizar medidas de distancia direcamente con ArduinoBlocks.

El funcionamiento de los sensores de ultrasonidos consiste en emitir un sonido y medir el tiempo que tarda en rebotar con le objeto que tiene delante y volver. Así se puede calcular la distancia a la que se encuentra el objeto que está enfrente.


Para a reaizar esta práctica lo conectaremos directamente al zócalo delantero tal como en la imagen.

Con la instrucción “Distancia”, utilizando las variables y la opción de enviar datos a la pantalla del ordenador realizaremos un programa donde podremos jugar con la distancia.

El programa sería el del ejemplo, y con la consola vamos a ver las lecturas.

Ahora, vamos a hacer como si se tratara de un sensor de aparcamiento de un coche.

El robot va a emitir un pitido intermitente cuya frecuencia dependerá de la distancia a la que esté un objeto que se coloque delante. Cuanto más cerca esté, más veces por segundo pitará.

Hay que tener en cuenta que el tiempo que pasa entre pitido y pitido (que depende de la distancia) se indica en milisegundos, por eso, multiplicamos por un factor (en ejemplo, 15) que hace que la frecuencia de pitido se adapte a nuestras necesidades. Podéis probra el sistema, variarlo, escalarlo y adaptarlo a vuestro gusto.

Vemos en el programa que la frecuencia con la que se realiza cada ciclo, que equivale a la frecuencia con la que damos cada pitido, depende directamente de la distancia del 3dBot al objeto.

En el programa anterior hay un inconveniente, y es que el robot siempre va a pitar, aunque el objeto que esté delante se encuentre a mucha distancia. Ahora vamos a poner una nueva condición para que este pitido solo comience cuando el objeto esté a una determinada distancia mínima. Para el ejemplo que se propone, se ha probado con 20cm, pero, igual que antes, podéis ajustarlo como queráis.