Lección 3: Cuando se detecta el color rojo
No hay comandos para decirle al robot VR qué hacer una vez que detecta el color rojo. Para evitar el borde rojo, el robot VR debe dar marcha atrás y girar una vez que detecte el color rojo, como lo hace en este video.
-
Agregue un comentario al final del bucle mientras para indicar qué debe suceder cuando el sensor de ojo hacia abajo detecta el borde rojo. Tu proyecto ahora debería verse así:
def main(): # Busca edificios mientras el borde rojo no se detecta mientras no está abajo.detect_eye.detect (RED): # ¿El sensor de distancia detecta un castillo? if front_distance.found_object(): # Crash castle detected by Distance Sensor drivetrain.drive (FORWARD) else: # Girar para encontrar un castillo usando el sensor de distancia drivetrain.turn (RIGHT) wait(5, MSEC) # Revertir y girar cuando se detecte un borde rojo -
Añada un drive_for y turn_for a los comandos debajo del comentario para permitir que el VR Robot invierta y gire una vez que el Down Eye Sensor detecte el color rojo.
def main(): # Busca edificios mientras el borde rojo no se detecta mientras no está abajo.detect_eye.detect (RED): # ¿El sensor de distancia detecta un castillo? if front_distance.found_object(): # Crash castle detected by Distance Sensor drivetrain.drive(FORWARD) else: # Girar para encontrar un castillo usando el sensor de distancia drivetrain.turn(RIGHT) wait(5, MSEC) # Revertir y girar cuando el borde rojo detecta drivetrain.drive_for (REVERSE, 300, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) - Abra el Dynamic Castle Crasher Playground si aún no está abierto y ejecute el proyecto. ¿El robot VR se comporta como pretendías?
- Cuando se ejecuta este proyecto, hay dos condiciones que se comprueban. La primera es la condición del Sensor de Ojos Abajo que detecta el color rojo dentro del bucle mientras Tenga en cuenta que el flujo del proyecto pasa a la siguiente condición de un objeto que se detecta SÓLO si el Sensor de Ojos Abajo no ve el color rojo. Si el sensor Down Eye detecta rojo, el flujo del proyecto omite la instrucción if else y pasa a conducir en reversa y girando.

- La segunda condición que se verifica es la instrucción if else. Mientras el sensor Down Eye no detecte el rojo, el proyecto continuará en el bucle mientras para verificar el estado del sensor de distancia. El robot VR utilizará los datos del sensor de distancia para tomar la decisión de conducir hacia adelante o girar a la derecha.

-
Sin embargo, una vez que el sensor Down Eye detecta el color rojo, el robot VR se moverá en reversa, girará y luego se detendrá, ya que ese es el final del flujo del proyecto. No se utiliza ningún bucle para repetir los comportamientos de nuevo.

Añadiendo un bucle infinito while
-
Se necesita un bucle infinito mientras que para que los comportamientos se repitan en un bucle. Arrastre o escriba a mientras en el bucle en la parte superior del proyecto y configure la condición en Verdadero para crear un bucle infinito. Luego, copie y pegue el código anterior dentro del bucle infinito while . Asegúrese de que los comandos estén correctamente sangrados bajo los encabezados correctos, de lo contrario es posible que el proyecto no se ejecute como se esperaba. Tu proyecto ahora debería verse así:
def main(): while True: # Busque la construcción mientras el borde rojo no se detecta mientras no down_eye.detect (RED): # ¿El sensor de distancia detecta un castillo? if front_distance.found_object(): # Crash castle detected by Distance Sensor drivetrain.drive(FORWARD) else: # Girar para encontrar un castillo usando el sensor de distancia drivetrain.turn(RIGHT) wait(5, MSEC) # Revertir y girar cuando el borde rojo detecta drivetrain.drive_for (REVERSE, 300, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) - Abra el Dynamic Castle Crasher Playground si aún no está abierto y ejecute el proyecto. ¿El robot VR se comporta como pretendías?
-
Cuando se ejecute este proyecto, el robot VR conducirá hacia un castillo detectado y girará a la derecha si no se informa de castillos. Una vez que el sensor Down Eye detecta el color rojo, el robot VR se mueve en reversa, gira y continúa conduciendo hacia otro castillo.

Preguntas
Seleccione un enlace a continuación para acceder al cuestionario de la lección.
Google Doc / .docx / .pdf