Skip to main content

Lección 2: Uso de múltiples bucles While

Continuando por el laberinto de la pared

Ahora hemos utilizado un bucle mientras con el sensor de parachoques para hacer que el robot VR deje de conducir cuando llega a la pared. Sin embargo, para continuar a través del laberinto de pared, el robot VR necesita girar cuando llega a una pared, para que pueda cambiar de dirección y continuar. 

  • Para comenzar, elimine el comando stop fuera del bucle while , y reemplácelo con un comando turn_for . Establezca los parámetros para que el robot VR gire a la izquierda 90 grados. Tu proyecto ahora debería verse así:

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	drivetrain.turn_for(LEFT, 90, DEGREES)
  • Inicie el Wall Maze Playground si aún no está abierto y ejecute el proyecto.
  • Observe cómo funciona el robot VR desde el inicio del laberinto de pared, deténgase cuando el sensor de parachoques sea presionado por la pared y gire a la izquierda 90 grados.

    Una vista de arriba hacia abajo del Wall Maze Playground. El robot VR se ha movido hacia adelante desde la flecha verde de inicio en la parte inferior del patio de recreo hasta que golpeó una pared frente a él. Ahora está orientado 90 grados a la izquierda, por lo que está orientado hacia la pared a la izquierda de la misma.

Múltiples bucles y el problema del laberinto de pared

Ahora el robot VR ha llegado a una pared y ha girado para poder seguir conduciendo por el laberinto. De la misma manera que se usaron los datos del sensor de parachoques en un bucle while para este primer paso en el laberinto, la misma estructura se puede usar varias veces en el mismo proyecto para hacer que el robot VR continúe a través del laberinto. Se pueden usar múltiples bucles  while en el mismo proyecto.

  • A partir de la posición actual del robot de realidad virtual, el siguiente paso para resolver el laberinto de pared sería avanzar hasta la siguiente pared y girar a la derecha 90 grados. Los comandos existentes se pueden copiar y pegar debajo del comando anterior while loop y turn_for. Recuerde tener en cuenta la sangría y cambiar los nuevos parámetros Turn_for Command para girar 90 grados a la derecha. Tu proyecto ahora debería verse así:

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    	
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
  • Reinicie el Wall Maze Playground y vuelva a ejecutar el proyecto.
  • Observe el accionamiento del robot VR desde el inicio del laberinto de pared, deténgase cuando el sensor de parachoques sea presionado por la pared, gire a la izquierda 90 grados, avance hasta que el sensor de parachoques vuelva a ser presionado por una pared, luego gire a la derecha 90 grados y deténgase.

    Una vista de arriba hacia abajo del Wall Maze Playground. El robot VR se ha movido hacia adelante desde la flecha de inicio verde hasta que ha avanzado, girado a la izquierda y ha vuelto a avanzar hasta que ha tocado la siguiente pared. Ahora está orientado 90 grados a la derecha después de su movimiento, lo que lo tiene orientado hacia la pared superior.

Mini desafío

Para este mini desafío, crea un proyecto en el que el robot VR conduzca desde el inicio hasta la letra 'A' en el laberinto de pared Patio de juegos usando múltiples bucles mientras  ¡y el sensor de parachoques!

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.

Sigue estos pasos para completar el mini desafío:

  • Mira el vídeo de la solución a continuación para ver cómo debe conducir el robot de realidad virtual para completar el mini desafío. En este videoclip, el robot VR comienza en el inicio en la parte inferior central del patio de recreo. Se mueve hacia adelante hasta que el sensor de parachoques es presionado por la pared opuesta, luego gira a la izquierda y se dirige a la siguiente pared frente a él. Cuando se presiona el parachoques en esa pared, el robot vuelve a girar a la izquierda y avanza hasta llegar a la pared final y a la letra A.

  • Cree un proyecto añadiendo o eliminando los comandos necesarios al proyecto Unit4Lesson2.
  • Iniciar el proyecto para probarlo.
  • Si el proyecto no tiene éxito, edítelo e inténtelo de nuevo. Continúe revisando y ejecutando el proyecto hasta que el robot de realidad virtual conduzca con éxito desde el inicio hasta la letra "A".
  • Guarde el proyecto una vez que el robot VR conduzca con éxito desde el inicio hasta la letra "A".

¡Felicidades! ¡Has resuelto EL mini desafío!

Preguntas

Seleccione un enlace a continuación para acceder al cuestionario de la lección.

Google Doc / .docx / .pdf