Lección 2: Conducir al número '5'
¡En esta lección, el robot VR conducirá hasta el número ‘5‘ y volverá al número ‘1‘ en el patio de recreo del mapa de cuadrícula numérica!

Tenga en cuenta que el robot VR viajará a lo largo del eje X con valores X aumentando para moverse al número ‘5‘ en el patio de recreo del mapa de cuadrícula numérica.

El robot VR conducirá hasta la ubicación del número ‘5‘ en el patio de recreo del mapa de cuadrícula numérica. Sin embargo, antes de que el Robot VR pueda navegar a ese número, se le debe decir al Robot VR dónde está la ubicación de ese número. Comenzando en el centro del patio de recreo, las coordenadas del número ‘5’ son (-100, -900).

- Para comenzar, el robot VR debe estar frente al número ‘5’. Arrastre o escriba un comando turn_for.
# Añadir código de proyecto en "main"
def main():
drivetrain.turn_for(DERECHA, 90, GRADOS)- Arrastre un bucle while debajo del comando turn_for . Tu proyecto debería verse así:
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while condition:
wait(5, MSEC)- Al igual que la unidad del sensor de distancia, este proyecto utilizará la condición de la posición del sensor de ubicación con un operador de comparación para navegar por el patio de juegos del mapa de cuadrícula numérica. Establezca la condición para el bucle while en la posición del comando en el eje X menor que -100 en milímetros (mm). Tu proyecto debería verse así:
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
wait(5, MSEC)- Arrastre o escriba el comando sin espera drive dentro del bucle while. Tu proyecto debería verse así:
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)- Tenga en cuenta que se utiliza el operador menor que en lugar del operador mayor que porque el robot VR está conduciendo hacia la derecha desde el lado izquierdo del patio de recreo. El robot VR comienza con un valor X de -900 milímetros (mm). A medida que el robot VR avanza, los valores X aumentan y, por lo tanto, el robot seguirá avanzando mientras el valor X sea inferior a -100.

Para su información
Deberá elegir qué operador de comparación utilizar en su proyecto, dependiendo de la dirección en la que desee que el robot VR viaje a lo largo del eje X o Y. Cuando el robot VR se dirige hacia un valor mayor, se utilizará el operador menor que (<) con un bucle while ; y cuando el robot VR se dirige hacia un valor menor, se utilizará el operador mayor que (>) con un bucle while .
Esto se alinea con los movimientos hacia la izquierda y hacia la derecha cuando se mira el patio de recreo. Si el robot VR se mueve de izquierda a derecha o de abajo hacia arriba (valores más grandes), el operador menor que se utiliza para conducir mientras la posición es menor que el valor objetivo.
Si el robot VR se mueve de derecha a izquierda o de arriba a abajo (valores más pequeños), el operador mayor que se utiliza para conducir mientras la posición es mayor que el valor objetivo.
Usando los operadores de comparación, el robot VR viajará mientras el valor informado por el sensor de ubicación sea mayor que (>) o menor que (<) el valor umbral. En este ejemplo, el robot VR navegará a 500 milímetros (mm) positivos en el eje X. El robot VR se moverá mientras la posición en el eje X esté entre 0 y 499 positivo. Cuando el sensor de ubicación informa que la posición es 501 o superior, el robot VR dejará de conducir.
# Add project code in "main"
def main():
monitor_sensor(location.position)
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < 500:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()Tenga en cuenta que el valor informado por el sensor de ubicación no es exactamente 500 milímetros (mm). Al igual que el sensor de distancia, los operadores de comparación se utilizan debido al tiempo que tarda el robot de realidad virtual en iterar a través del proyecto y los valores del informe.
- Arrastre o escriba un comando stop fuera del bucle while. Tu proyecto debería verse así:
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()- Abra la ventana del patio de recreo si aún no está abierta. Asegúrese de que se abra el mapa de cuadrícula de números Playground y ejecute el proyecto.
- Mira la unidad VR Robot al número ‘5‘ en el patio de recreo del mapa de cuadrícula numérica.

- En este proyecto, el robot VR conduce al número ‘5‘ en el patio de recreo del mapa de cuadrícula numérica. El bucle mientras se utiliza para que el robot VR continúe avanzando mientras el valor X sea menos que el valor X de la coordenada en la que se encuentra el número indicado.
- Una vez que el valor X es mayor que -100, el proyecto pasa al siguiente comando fuera del bucle, que es un comando stop. Dado que el valor X del número ‘5’ es -100, el Robot VR dejará de funcionar una vez que el valor X sea mayor que -100.

Para su información
Tenga en cuenta que el valor informado por el sensor de ubicación puede no ser exactamente -100 milímetros (mm). Al igual que el sensor de distancia, los operadores de comparación se utilizan debido al tiempo que tarda el robot de realidad virtual en iterar a través del proyecto y los valores del informe.
En VEXcode VR Python, puede usar un operador de comparación mayor o igual que (>=) o menor o igual que (<=) en su proyecto para tener una precisión adicional en sus movimientos.
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) <= -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()Dependiendo de la velocidad del robot VR y de qué tan rápido el proyecto itera a través del bucle, es posible que vea que el robot VR puede detenerse más cerca del valor umbral cuando se agrega o igual a (<= o >=) al operador.
Seleccione el botón Siguiente para continuar con el resto de esta lección.