Uso del sensor de distancia VEX IQ (1ª generación)

Descripción

Este sensor informa la distancia entre él y el objeto sólido más cercano (rango de 50 mm - 1 m). Calcula la distancia utilizando el tiempo que tardan las ondas ultrasónicas en rebotar en un objeto y volver al sensor.

Pieza de sensor de distancia VEX IQ (1ª generación).


Cómo funciona el sensor de distancia: escuchar la distancia

Diagrama del sensor de distancia que envía ultrasonido para golpear un cubo verde y luego recibe el sonido reflejado.

El sensor de distancia utiliza los mismos principios que los dispositivos de sonar para medir el sonido. Envía un pequeño pulso de ultrasonido con su emisor en un lado del sensor, y luego multiplicado por el tiempo que tarda en escuchar el sonido que refleja el receptor en el otro lado del sensor. El sensor calcula la distancia en función del tiempo que tardó el pulso de sonido en realizar el viaje de ida y vuelta. El sensor de distancia hace un cálculo basado en la velocidad del sonido para decirle al cerebro del robot qué tan lejos está el objeto más cercano. 

Si la superficie no es plana como una pared curva o una bola, la onda ultrasónica no rebota de todas las partes por igual o al mismo tiempo. La superficie más cercana lo suficientemente grande como para reflejar una cantidad detectable de la onda determina la distancia detectada del objeto.


Usos comunes del sensor de distancia:

¿Objeto VEXcode IQ encontrado bloque que dice Distancia encontrada un objeto?

Dos diagramas. Arriba, el sensor de distancia apunta hacia un cubo verde cercano y está etiquetado con una marca de verificación. A continuación, el sensor de distancia no apunta a nada cercano y está etiquetado con un símbolo X.

Este sensor puede detectar si hay un objeto frente a él.

VEXcode IQ Distancia del bloque que lee Distancia distancia en mm.

Este sensor puede medir la distancia entre él y un objeto.

  • Un robot puede usar este sensor para alejarse a cierta distancia de un objeto. Vea la animación a continuación para ver cómo cambia el valor de la distancia a medida que el robot avanza hasta que la distancia es inferior a 160 mm.

  • Un robot puede usar este sensor para conducir hasta un objeto sin tocarlo. Vea esta animación para ver dos robots que utilizan sensores de distancia para coordinar su conducción.

  • Los valores proporcionados por este sensor se pueden utilizar para ajustar la velocidad del robot dependiendo de si está cerca o lejos de un objeto o superficie. Vea esta animación para ver cómo se ajusta un robot en función de la distancia a una pared.


Usos del sensor de distancia en un robot de competición

  • El robot puede usar el sensor de distancia para iniciar una secuencia de comportamientos cuando está en el lugar correcto para hacerlo. Por ejemplo, el robot puede avanzar hasta que detecte que está a 150 mm de una pared, luego girar 90 grados y liberar un objeto en una zona de puntuación.  
  • El sensor de distancia se puede utilizar para activar acciones del robot, como recoger una pieza de juego, cuando se detecta un objeto dentro del alcance.
  • El robot puede usar el sensor de distancia para conducir hacia un objeto o superficie hasta que esté a una distancia específica, sin tocarlo. Esto se puede utilizar para asegurarse de que el robot no golpee las piezas del juego.
  • Un robot puede usar el sensor de distancia para alejarse de un objeto o superficie hasta que haya alcanzado una distancia específica. Esto se puede utilizar para evitar colisiones con otros robots en el campo.

Uso del sensor de distancia en VEXcode IQ

Adición del sensor de distancia como dispositivo en VEXcode IQ

Menú VEXcode IQ Devices después de que se haya seleccionado el botón Agregar un dispositivo. La opción Distancia (1ª generación) está resaltada.

Para codificar el sensor de distancia en VEXcode IQ, primero debe configurar el sensor de distancia. Consulta este artículo para obtener más información sobre la configuración de un sensor en VEXcode IQ.

Una vez configurado el sensor, aparecerán comandos en la Caja de Herramientas que podrás utilizar en tu proyecto.

Codificación del sensor de distancia en bloques

¿Objeto VEXcode IQ encontrado bloque que dice Distancia7 encontrado un objeto?

El <Object found> bloque es un bloque reportero booleano que informa una condición como verdadera o falsa. Los bloques booleanos, como el <Object found> bloque, encajan dentro de bloques con entradas hexagonales (de seis lados) para otros bloques.

El bloque <Object found> booleano informa 'verdadero' si el sensor detecta un objeto, y 'falso' si el sensor no lo hace. Para obtener más información sobre los bloques booleanos, visita la Ayuda o el artículo Formas y significado de los bloques.

 

VEXcode IQ bloquea el proyecto que utiliza un sensor de distancia para avanzar hasta encontrar un objeto. El proyecto lee Cuando se inicia, avance, espere hasta que Distance7 encuentre un objeto y luego deje de conducir.

En este ejemplo, el <Object found> bloque se utiliza con un bloque [Esperar hasta] para hacer que el robot avance hasta que el sensor de distancia detecte un objeto. Cuando el sensor detecte un objeto, el robot dejará de conducir, como se muestra en la imagen de arriba. 

VEXcode IQ Distancia del bloque que lee Distancia7 distancia en mm.

El bloque (Distancia desde) informa la distancia del objeto más cercano al sensor de distancia. Informa un rango de 24 mm a 1000 mm, o de 1 pulgada a 40 pulgadas. El bloque (Distancia desde) es un bloque reportero que se utiliza dentro de bloques con espacios circulares.

 

VEXcode IQ bloquea el proyecto que utiliza un sensor de distancia para avanzar hasta que su distancia sea inferior a 50 mm. El proyecto lee Cuando se inicia, avance, imprima Distance7 distance en mm en Brain, espere hasta que Distance7 distance en mm sea inferior a 50 y luego deje de conducir.

En este ejemplo, el bloque (Distancia desde) se utiliza con un bloque [Imprimir] para mostrar en la pantalla del cerebro la distancia entre el sensor de distancia y un objeto. El bloque (Distancia desde) también se muestra dentro de un <Less than> bloque que está dentro de un {Wait until} bloque. Esto hará que el robot conduzca hasta que el sensor de distancia detecte un objeto a menos de 50 milímetros de distancia y luego deje de conducir. Esto se muestra en el primer video de arriba.

Codificación del sensor de distancia en Python

Nota: Para codificar un sensor de distancia VEX IQ (1ª generación) en Python, debe estar conectado a un cerebro VEX IQ (2ª generación). El cerebro VEX IQ (1ª generación) no es compatible con Python.

distance_7.is_object_detected()

El comando distance.is_object_detected informa 'true' si se detecta un objeto y 'false' si no se detecta un objeto.

Nota: El nombre del Sensor de Distancia que aparece en el comando corresponde al nombre que se le da en la configuración. 

drivetrain.drive(FORWARD)
while not distance_7.is_object_detected()
wait(20, MSEC)
drivetrain.stop()
En este ejemplo, se utiliza un bucle While con una condición not con el comando distance.is_object_detected para hacer que el robot avance hasta que el sensor de distancia detecte un objeto. Cuando el sensor detecta un objeto, el robot dejará de conducir, como se muestra en el código Python anterior.
distancia_7.distance(MM)

El comando distance.distance informa la distancia del objeto más cercano desde el sensor de distancia. Informa un rango de 24 mm a 1000 mm, o de 1 pulgada a 40 pulgadas.

drivetrain.drive(FORWARD)
brain.screen.print(distance_7.distance(MM)
while not distance_7.distance(MM) < 50:
wait(20, MSEC)
drivetrain.stop()

En este ejemplo, se utiliza un bucle While con una condición not con el comando distance.is_object_detected para hacer que el robot avance hasta que el sensor de distancia detecte un objeto. Cuando el sensor detecte un objeto, el robot dejará de conducir.

En este ejemplo, el comando distance.distance se utiliza con un comando brain.screen.print para mostrar en la pantalla Brain la distancia entre el sensor de distancia y un objeto. El comando distance.distance también se muestra dentro de un bucle While con una condición not. Esto hará que el robot conduzca hasta que el sensor de distancia detecte un objeto a menos de 50 milímetros de distancia y luego deje de conducir. Esto se muestra en el primer video de arriba.

Para obtener más información sobre la codificación de un sensor de distancia en Python, consulta la Unidad 5 del curso de Ciencias de la Computación Nivel 1 - Python. 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: