El sensor ultrasónico es bárbaro para cualquier tipo de proyecto que necesite medir distancias, como por ejemplo para esquivar obstáculos. El modelo HC-SR04 es muy económico y fácil de usar porque vamos a aprovechar una librería diseñada específicamente para este sensor.
Componentes necesarios
(1) x Elegoo Mega 2560 R3, (1) x Módulo de sensor ultrasónico, (4) x Cables Hembra-Macho (cables DuPont).
Introducción al componente
El módulo ultrasónico HC-SR04 ofrece una función de medición sin contacto de 2 cm a 400 cm, con una precisión que llega a los 3 mm. El módulo incluye los transmisores ultrasónicos, el receptor y el circuito de control. El principio básico de funcionamiento consiste en usar un disparador (trigger) de entrada para una señal de nivel alto de al menos 10 us; el módulo envía automáticamente ocho ráfagas de 40 kHz y detecta si hay una señal de pulso de regreso.
Cálculo de distancia
Si la señal vuelve, el tiempo de duración de la salida de nivel alto es el tiempo que pasó desde el envío del ultrasonido hasta su regreso. La distancia se calcula como: (tiempo de nivel alto × velocidad del sonido (340 m/s)) / 2. También podés usar la fórmula: us / 58 = centímetros o us / 148 = pulgadas. Sugerimos usar un ciclo de medición de más de 60 ms para evitar que la señal de disparo interfiera con la de eco.
Código y configuración
Podés descargar el archivo sr04_example.ino y abrirlo con el IDE de Arduino. Antes de ejecutarlo, fijate de tener instalada la librería SR04, si no el código no va a andar. El programa define el TRIG_PIN en el 11 y el ECHO_PIN en el 12, creando un objeto para gestionar las mediciones.
Funcionamiento del programa
En el setup() se inicializa la comunicación serial a 9600 baudios. Dentro del loop(), la función sr04.Distance() mide la distancia y guarda el resultado en una variable. Luego, el valor se imprime en el monitor serial seguido de la unidad "cm". La diferencia entre "Serial.print" y "Serial.println" es que el segundo comando hace un salto de línea.
Principio de medición ultrasónica
El pin de disparo manda un pulso de 10μs para activar el sensor, que emite 8 pulsos a 40kHz. El pin de eco se pone en ALTO cuando se emiten las ondas y vuelve a BAJO cuando se recibe el rebote. Ese intervalo de tiempo entre el estado ALTO y BAJO es lo que usamos para calcular la distancia final, dividiendo por dos porque el sonido hace el viaje de ida y vuelta.
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.