Lección 3: Uso de sensores y el electroimán para recoger un disco
Uso del sensor ocular inferior con el electroimán
Esta Lección utilizará los comentarios de los sensores informados para resolver el mismo desafío que la Lección 2. El robot VR recogerá y moverá el primer disco azul a la portería azul.
- Inicie un nuevo proyecto y seleccione Disk Mover Playground cuando se le solicite.

-
Nombra el proyecto Unit8Lesson3.

-
Añade cuatro comentarios al proyecto. Añade comentarios para cada uno de los pasos necesarios para que el robot VR se dirija al primer disco, lo recoja y lo devuelva al objetivo azul.
def main(): # 1. Unidad al primer disco # 2. Recoge el primer disco # 3. Conduce hasta el objetivo n .º 4. Suelta el disco en la meta -
Arrastre o escriba un bucle while con una condición not en el espacio de trabajo debajo del primer comentario, para que su proyecto se vea así:
def main(): #1. Conduzca al primer disco mientras no esté en condiciones: espere(5, MSEC) # 2. Recoge el primer disco # 3. Conduce hasta el objetivo n .º 4. Suelta el disco en la meta -
El comando down_eye.near_object informa True cuando el sensor Down Eye del VR Robot detecta un disco de color en el Disk Mover Playground. Los discos están en el piso del patio de juegos y no pueden ser detectados por el sensor ocular frontal, por lo tanto, el sensor ocular inferior detectará los discos. Arrastre o escriba el comando down_eye.near_object como condición del bucle while , de modo que la primera sección de su proyecto se vea así:
def main(): #1. Drive to the first disk while not down_eye.near_object(): wait(5, MSEC) -
Los comandos dentro del bucle mientras que se ejecutarán cuando el robot VR NO detecte un objeto. Para llegar a uno de los discos, el robot VR deberá avanzar hasta que se detecte el disco.

-
Arrastre o escriba un comando drive dentro del bucle while , de modo que la primera sección de comentarios del proyecto se vea así:
#1. Drive to the first disk while not down_eye.near_object(): drivetrain.drive(FORWARD) espera(5, MSEC) -
Cuando se detecta un disco, el robot VR tendrá que dejar de conducir para recogerlo. Arrastre o escriba un comando stop fuera del bucle while , de modo que la primera sección de comentarios del proyecto se vea así:
#1. Drive to the first disk while not down_eye.near_object(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - Tenga en cuenta que los comandos drive y wait están sangrados debajo del encabezado del bucle while , lo que significa que los comandos están dentro del . La línea gris también puede ayudar a indicar qué comandos están sangrados correctamente y dentro de un bucle. El comando stop está en línea con el encabezado del bucle, lo que significa que el comando stop está fuera del bucle. Asegúrese de que los comandos estén sangrados correctamente, o es posible que el proyecto no se ejecute como se esperaba.
-
Ahora, indique al robot VR que recoja el disco con el electroimán arrastrándolo o escribiendo el comando energize después del segundo comentario, de modo que la segunda sección del proyecto se vea así:
# 2. Recoge el primer disco magnet.energize(BOOST) - Abra la ventana del patio de recreo si aún no está abierta. Asegúrese de que Disk Mover Playground se abra y ejecute el proyecto.
-
El robot VR avanza hasta que el sensor Down Eye detecta el primer disco azul, deja de funcionar y energiza el electroimán para recoger el disco.

Flujo del proyecto para recoger el primer disco
Observe cómo el bucle while con una condición no utiliza la retroalimentación del sensor para recoger con éxito el primer disco:
- El robot VR avanza mientras que el sensor Down Eye no detecta ningún objeto.
- Una vez que el sensor Down Eye del robot VR detecta un objeto, el proyecto pasa al siguiente comando fuera del bucle mientras y deja de avanzar.
- El proyecto continúa, por lo que el robot VR activa el electroimán para recoger el disco.

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