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 regresar al sensor.

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

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

Diagrama del sensor de distancia que emite ultrasonidos para impactar 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. Emite un pequeño pulso de ultrasonido con su emisor situado en un lado del sensor y, a continuación, mide el tiempo que tarda en oírse el sonido reflejado en el receptor situado en el otro lado del sensor. El sensor calcula la distancia basándose en el tiempo que tardó el pulso sonoro en realizar el viaje de ida y vuelta. El sensor de distancia realiza entonces un cálculo basado en la velocidad del sonido para indicarle al cerebro del robot a qué distancia se encuentra el objeto más cercano. 

Si la superficie no es plana, como una pared curva o una esfera, la onda ultrasónica no rebota en todas las partes por igual ni 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:

Bloque VEXcode IQ Objeto encontrado que dice ¿Distancia encontrada un objeto?
Dos diagramas. En la imagen superior, el sensor de distancia apunta hacia un cubo verde cercano y está marcado con una casilla de verificación. Abajo, el sensor de distancia no apunta a nada cercano y está marcado con una X.

Este sensor puede detectar si hay un objeto delante de él.

VEXcode IQ Distancia desde el bloque que lee Distancia distancia en mm.

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

  • Un robot puede utilizar este sensor para alejarse una 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 utilizar este sensor para acercarse a 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 un robot se ajusta según la distancia a una pared.


Usos del Sensor de Distancia en un Robot de Competición

  • El robot puede utilizar 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 detectar que está a 150 mm de una pared, luego girar 90 grados y soltar un objeto en una zona de puntuación.  
  • El sensor de distancia se puede utilizar para activar acciones del robot, como recoger una pieza del juego, cuando se detecta un objeto dentro del alcance.
  • El robot puede utilizar el sensor de distancia para conducir hacia un objeto o superficie hasta que esté dentro de una distancia específica, sin tocarlo. Esto se puede utilizar para asegurarse de que el robot no derribe las piezas del juego.
  • Un robot puede utilizar el sensor de distancia para alejarse de un objeto o superficie hasta que alcance una distancia específica. Esto se puede utilizar para evitar colisiones con otros robots en el campo.

Usando el sensor de distancia en VEXcode IQ

Agregar el sensor de distancia como dispositivo en VEXcode IQ

Menú Dispositivos VEXcode IQ después de seleccionar 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. Consulte este artículo para obtener más información sobre cómo configurar un sensor en VEXcode IQ.

Una vez que el sensor esté configurado, aparecerán comandos en la Caja de herramientas que podrá usar en su proyecto.

Codificación del sensor de distancia en bloques

VEXcode IQ Objeto encontrado bloque que lee Distance7 ¿Encontró un objeto?

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

El bloque booleano <Object found> 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, visite el artículo Ayuda o 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 dice: Al iniciar, conduzca hacia adelante, espere hasta que Distance7 encuentre un objeto y luego deje de conducir.

En este ejemplo, el bloque <Object found> se usa con un bloque [Esperar hasta] 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 la imagen de arriba. 

VEXcode IQ Distancia desde el bloque que lee Distance7 distancia en mm.

El bloque (Distancia desde) informa la distancia del objeto más cercano al sensor de distancia. Indica un rango de 24 mm a 1000 mm, o de 1 pulgada a 40 pulgadas. El bloque (Distancia desde) es un bloque de informe 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 dice: Al iniciar, conduzca hacia adelante, imprima la distancia Distancia7 en mm en el cerebro, espere hasta que la distancia Distancia7 en mm sea menor que 50 y luego deje de conducir.

En este ejemplo, el bloque (Distancia desde) se usa 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 bloque <Less than> que está dentro de un bloque {Wait until}. 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.

Codificando el 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 procesador VEX IQ (1.ª generación) no es compatible con Python.

distancia_7.es_objeto_detectado()

El comando Distance.is_object_detected informa "verdadero" si se detecta un objeto y "falso" 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)
mientras no se detecte distance_7.is_object_detected()
    esperar(20, MSEC)
drivetrain.stop()
En este ejemplo, se utiliza un bucle WhileWhile 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 deja de moverse, como se muestra en el código Python anterior.
distancia_7.distancia(MM)

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

drivetrain.drive(ADELANTE)
brain.screen.print(distancia_7.distancia(MM)
mientras no distancia_7.distancia(MM) < 50:
    esperar(20, MSEC)
drivetrain.stop()

En este ejemplo, se utiliza un bucle While 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 moverse.

En este ejemplo, el comando distance.distance se utiliza con un comando brain.screen.print para mostrar en la pantalla del cerebro 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 entonces se detendrá. Esto se muestra en el primer vídeo de arriba.

Para obtener más información sobre cómo programar un sensor de distancia en Python, consulta la Unidad 5 del curso de Python de Nivel 1 de Informática. 

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

Last Updated: