Icono del sitio Home Assistant Fácil

HC-SR04 sensor de ultrasonidos con Arduino

sonar-arduino

En este fragmento de código vamos a tratar un tema muy curioso, vamos a ver como leer y entender un HC-SR04 sensor de ultrasonidos con Arduino. Como ya os hemos dicho en más de un fragmento de código y en el capítulo 48. Sensor de temperatura en Arduino, antes de empezar con un sensor debemos de mirar la ficha técnica del dispositivo. Este dispositivo tiene la referencia HC-SR04. Hacemos un resumen de las características técnicas más importantes:

Además de las características técnicas nos facilitan el conexionado que os lo pongo a continuación.

Es importante fijarse en las patillas que tiene el sensor. Por un lado las típicas GND (tierra) y Vcc (alimentación 5 V) y por otro lado tiene dos patillas que son el Trigger (disparo) y Echo (eco). Estas dos patillas son las importantes. Estas las tenemos que conectar a las entradas/salidas digitales. Por un lado Trigger va a funcionar en modo salida y por otro lado Echo va a funcionar en modo entrada.

Antes de continuar aclarar como funciona un sonar, más concreto el HC-SR04. El Trigger manda un pulso de ultrasonidos y el Echo se encarga en recibirlo. Por lo tanto tenemos el tiempo que tarda en recibirlo y la velocidad, la del sonido, así de fácil. Como hemos tenido que ir hasta el objeto y volver lo estamos calculando por dos así que hay que dividir por dos. Esta fórmula la tenemos también en la ficha técnica.

Distancia = (Tiempo en estado HIGH * Velocidad del sonido) / 2

En el caso de este sensor, hay que iniciar la comunicación entre el Trigger y el Echo para ello debemos mandar un pulso de 10 ms (milisegundos).

Veamos entonces el código que vamos a necesitar

Como compruebas en el código, hay que hacer unos ajustes con las unidades. Por un lado la velocidad del sonido pasar de m/s a cm/s. Por otro lado la función pulseIn que se encarga de medir el tiempo que tarda un pin en cambiar de estado devuelve microsegundos y hay que pasarlo a segundos multiplicando por 0.000001. Con esto ya tenemos nuestro sonar totalmente operativo.

Salir de la versión móvil