En esta lección te vamos a enseñar cómo activar el modo de evitación de obstáculos de tu auto robot inteligente para que pueda cambiar de dirección al cruzarse con algo. Vamos a usar el módulo ultrasónico, que funciona emitiendo ondas de sonido y midiendo cuánto tardan en volver después de chocar con un objeto.
¿Cómo funciona el sensor ultrasónico?
El principio de medición es simple: el transmisor emite una onda y activa un cronómetro al mismo tiempo. El sonido viaja por el aire y, al chocar con un obstáculo, rebota hacia el receptor; con ese tiempo registrado y sabiendo que la velocidad del sonido es de 340m/s, el sistema calcula la distancia exacta entre el robot y el objeto.
Conexión y configuración del código
El módulo ultrasónico va conectado a los pines D12 y D13 de la placa UNO. En el código de ejemplo, vas a ver que configuramos el pin TRIG como OUTPUT para disparar la señal y el pin ECHO como INPUT para recibirla, además de definir funciones miembro para inicializar el sensor y capturar los datos de medición.
Lógica de disparo y medición
Para medir, primero ponemos el pin TRIG en LOW para limpiar cualquier señal residual y después lo pasamos a HIGH por al menos 10 microsegundos para activar el sensor. El módulo manda automáticamente ocho pulsos de 40KHz y pone el pin ECHO en HIGH durante el tiempo que la onda tarde en ir y volver, permitiéndonos capturar ese valor con la función pulseIn().
Cálculo de distancia y pruebas
Como el sonido hace un recorrido de ida y vuelta, dividimos el tiempo obtenido por 58 para pasar el valor a centímetros. Al subir el programa (acordate de poner el botón "Upload-Cam" en "Upload"), abrí la consola serial: si no hay nada adelante verás valores mayores a 200, pero si ponés la mano frente al sensor, vas a ver cómo la distancia se actualiza al toque.