Uso simultáneo de dos sensores ultrasónicos

Uso simultáneo de dos sensores ultrasónicos

de Bruno Martin Sanguinetti Cuestas -
Número de respuestas: 1

Buenas tardes. Debido a que me enteré de que el resto del semestre se desarrollará de forma virtual, por el interés que tengo en éste curso, adquirí un chasis con dos motoreductores, un puente h  l298 y dos sensores ultrasónicos. Pude ensamblar todo correctamente. Además, corroboré el correcto funcionamiento de todos los componentes de forma aislada. Los dos sensores ultrasónicos funcionan, al igual que los motores, arduino, y el puente h. Para la tarea propuesta decidí que, antes de encargarme de los movimientos de los motores, debería estudiar el comportamiento y prestaciones de los sensores ultrasonicos, por lo que me dirigí a hacer el código. Logré comprobar el correcto funcionamiento, como ya dije, de ambos sensores, pero cuando intento medir la distancia que ambos sensores miden en un mismo momento, me encuentro con que solo uno de ellos mide una distancia, mientras que el otro siempre me entrega distancia 0 (comprobado a través del serial). No está de más aclarar que probé todo lo que pudiera relacionarse al mundo físico. Primero pensé que se podría deber a que ambos sensores se encuentran apuntando en la misma dirección, por lo que los cambié de lugar y los dejé apuntando en sentidos distintos, y aún así no logro que los dos sensores midan al mismo tiempo. Investigando en internet, encontré que una posible solución es una libería hecha para usos como este ( de más de un sensor), pero aún así me niego a usarlas ya que según la propuesta, es posible hacer que los dos sensores midan simultáneamente. Agradezco si pudieran aclarar mi duda lo antes posible ya que la fecha de entrega es el miércoles. Saludos. Les dejo una foto de la adquisición y del código que estoy utilizando cuando me presenta el problema. Además adjunto el archivo con el código.

Adjunto 2.png
Adjunto 23.png
Adjunto índice.jpg
En respuesta a Bruno Martin Sanguinetti Cuestas

Re: Uso simultáneo de dos sensores ultrasónicos

de Sebastian Montes de Oca -
Bruno como estas?


Este comportamiento es correcto, y tiene que ver en como son procesadas las instrucciones de Arduino.

Cada instrucción es procesada en forma secuencial, es decir que atiendo una instrucción y cuando termino de ejecutarla paso a la siguiente.

Ejemplo, cuando ejecuto un delay(), espero a que termine de ejecutarse para atender la siguiente instrucción. Como tenes el código envías los 2 trig y después querés medir los dos pulsos en forma simultanea. El arduino va a medir el primer pulso, y  desp va a medir el segundo, pero a nivel físico ya llegaron los dos y el segundo no lo mediste. 

Revisa que cambio tenes que hacer en el código y podes analizar si este cambio te cambia en el funcionamiento del robot para esquivar objetos o no es apreciable el error de medición.


Saludos

Seba