Sonar con Arduino

th radar arduinoEn artículos anteriores se ha explicado el uso de un módulo de ultrasonidos con Arduino. En este artículo le daremos una utilidad a nuestro modulo para hacer un sonar que nos detecte la distancia a objetos sobre un área.

El módulo de ultrasonidos HY-SFR05 que usaremos en este tutorial es bastante directivo, y con ayuda de un servo, podremos hacer un barrido de 180° para explorar un área. Arduino se encargará de tomar las medidas y con un programa desarrollado en Processing podremos mostrar los datos en un PC. La comunicación Arduino-Processing la realizaremos mediante el puerto serie.

radar arduino 01
Esquema del circuito

radar arduino 03
Montaje del circuito

Como vemos en el esquema usaremos una alimentación externa de 5v. Esto se debe a que el servo consume más de lo que Arduino puede entregar. Es de vital importancia no conectar el servo al pin de 5v de Arduino, pues obtendremos medidas erróneas. Ya que usaremos una fuente externa, conectaremos a ella también el módulo de ultrasonido.

No debemos pasar por alto que al usar una fuente de alimentación externa debemos conectar la masa de Arduino con la de la fuente, de lo contrario el circuito no funcionará.

El código para este proyecto consta de dos partes, uno para Arduino y otro para Processing que veremos en otro tutorial. Arduino se encargará de tomar las medidas de distancia para cada posición del servo y mover este desde la posición de 0° a 180° y viceversa. Los datos obtenidos se enviaran por el puerto serie.

Descripción de configuración de variables

numReadings nos permite configurar cuantas medidas se tomaran en cada posición del servo. El valor en esta posición será un promedio de los valores obtenidos. Esto se usa para evitar posibles fallos en la medida. Cuanto más aumentemos este valor obtendremos una medida más exacta en puntos en los que puedan existir reflexiones o multitrayectos del sonido. El aumentar este valor implica un mayor tiempo empleado para rastrear una zona.

servoMin y servoMax permiten establecer la duración mínima y máxima del pulso de salida para el servo correspondiente a 0° y 180°. Es posible que dependiendo de nuestro servo tengamos que modificar estos valores haciendo unas pruebas previas. Si vemos que el servo no hace todo su recorrido o hace movimientos extraños, varía estos datos hasta conseguir su recorrido total.

radar arduino 02
Una vez cargado el código en Arduino podremos ver en el monitor serie algo parecido a esto.

radar arduino 04
Para interpretar los datos y mostrarlos de forma visual tendremos que seguir este tutorial: Sonar con Processing.

sello garantizado

Deja un comentario