Skip to main content

Lección 2: Conducir hasta la letra 'A'

Uso del sensor de distancia para evitar paredes 

Ahora que ha aprendido qué son los operadores de comparación y cómo se pueden usar en un proyecto, aplicará ese aprendizaje para conducir el robot de realidad virtual con la letra 'A' en el patio de recreo del laberinto de la pared. Este proyecto utilizará el sensor de distancia para navegar a través del patio de recreo del laberinto de paredes sin toparse con las paredes.

Nombrar y guardar el proyecto

  • Inicie un nuevo proyecto de texto y seleccione Wall Maze Playground cuando se le solicite. Azulejo de selección del patio de recreo del laberinto de pared.
  • Nombra el proyecto Unit5Lesson2.
    La barra de herramientas VEXcode VR y el cuadro de diálogo del nombre del proyecto en el centro leen la Lección 2 de la Unidad 5.
  • Arrastre, escriba o copie un bucle while y elimine el comando Drivetrain que se completa como parte de la nueva plantilla de proyecto de texto, para que su proyecto se vea así. Tenga en cuenta que el comando completará un bucle while con un comando wait dentro. No elimine el comando wait , garantizará que el robot VR ejecute el proyecto correctamente.

    def main():
        while condition:
            wait(5, MSEC)
  • Arrastre, escriba o copie el comando sin espera drive dentro del bucle, para que su proyecto se vea así.

    def main():
        while condition:
            drivetrain.drive(FORWARD)
    
            wait(5, MSEC)
    • Verifique que la sangría sea correcta y que el comando drive esté alineado con el comando wait .

Agregue la función get_distance y el operador mayor que

  • Arrastre o escriba el comando get_distance en la 'condición' del bucle while , para que su proyecto se vea así. Escriba el operador mayor que y el segundo operando como '50. 
  • def main():
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
    
            espera(5, MSEC)
  • Agregue un comando stop fuera del bucle while, para que su proyecto se vea así. Se necesita un comando stop después del bucle while porque el robot VR continuará conduciendo hasta que se le indique que se detenga.

    def main():
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
            
        drivetrain.stop()
  • Abra la ventana del Patio de juegos si aún no está abierta, de que el Laberinto de paredes  se abra y ejecute el proyecto.
  • Observe cómo el robot VR avanza hasta que el sensor de distancia indique que la distancia entre el robot VR y la pared no es superior a 50 milímetros (mm).Una vista de arriba hacia abajo del Wall Maze Playground con el VR Robot parado frente a la primera pared opuesta a la ubicación de inicio.
  • Reinicie el patio de recreo para mover el robot de realidad virtual de nuevo a la posición inicial.

Continuar el proyecto para llegar a la letra "A"

Usando el operador mayor que (>) con el comando get_distance como condición del bucle while se le indica al Robot VR que avance siempre que la distancia entre el Robot VR y la pared sea mayor a 50 milímetros (mm). Una vez que el sensor de distancia informe de una distancia desde el robot de realidad virtual hasta la pared que no sea superior a 50 milímetros, el robot de realidad virtual dejará de conducir. Para continuar con la letra 'A', el robot VR debe girar cuando se acerca a la pared. 

Para conducir hasta la letra ‘A’, el robot VR deberá detectar dos paredes y girar a la izquierda cuando se detecten estas paredes. Luego, el VR Robot se detendrá cuando detecte la tercera pared, ubicada detrás de la letra ‘A’.
Una vista de arriba hacia abajo del Wall Maze Playground con el VR Robot en la posición inicial, y tres flechas rojas que muestran el camino desde el inicio hasta la letra A. La primera flecha se extiende hacia adelante hacia la pared opuesta, la segunda flecha se extiende desde allí hacia la izquierda para enfrentar la siguiente pared, y la tercera se extiende desde allí hacia abajo hasta la letra A.

  • Reemplace el comando stop con el comando turn_for para que su proyecto se vea así. El comando turn_for es necesario porque una vez que el sensor de distancia esté a 50 milímetros (mm) de una pared, el robot VR girará a la izquierda para continuar hacia la letra "A".

    • Ajuste los parámetros del giro a "IZQUIERDA, 90, GRADOS".
    def main():
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES)
    • Agregue otro while loop con un comando drive dentro debajo del comando turn_for . Establezca la condición utilizando el comando get_distance  como primer operando, el operador mayor que y la constante '50' como segundo operando.
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            espera(5, MSEC)
    • Por último, agregue los siguientes comandos debajo del segundo bucle mientras para indicarle al robot VR que detecte la pared final detrás de la letra "A" y luego deje de conducir. Asegúrese de que el comando turn_for y el comando stop estén fuera de sus respectivos bucles while .
        drivetrain.turn_for(IZQUIERDA, 90, GRADOS)
    
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(ADELANTE)
            wait(5, MSEC)
    
        drivetrain.stop()
    • Inicie el Wall Maze Playground si aún no está abierto y ejecute el proyecto.
    • Observa la unidad VR Robot desde el inicio del laberinto de pared hasta la letra ‘A’ y luego detente.

    Una vista de arriba hacia abajo del patio de recreo del laberinto de pared con el robot de realidad virtual en la ubicación inicial en la parte inferior central del patio de recreo. La letra A está directamente a la izquierda del robot, separada por una pared corta.

    • Tenga en cuenta que el robot VR no choca contra ninguna pared mientras conduce hasta la letra "A". Cuando el valor del sensor de distancia informa que el robot VR no está a más de 50 milímetros (mm) de la pared, se le indica al robot VR que gire o se detenga en el proyecto.

Seleccione el botón Siguiente para continuar con el resto de esta lección.