Lezione 3: Utilizzo dei sensori e dell'elettromagnete per raccogliere un disco
Utilizzo del sensore Down Eye con l'elettromagnete
Questa lezione utilizzerà il feedback del sensore riportato per risolvere la stessa sfida della lezione 2. Il robot VR raccoglierà e sposterà il primo disco blu nell'obiettivo blu.
- Avviare un nuovo progetto e selezionare il Disk Mover Playground quando richiesto.

-
Denominare il progetto Unit8Lesson3.

-
Aggiungi quattro commenti al progetto. Aggiungere commenti per ciascuno dei passaggi necessari al Robot VR per guidare sul primo disco, raccoglierlo e riportarlo all'obiettivo blu.
def main(): # 1. Vai al primo disco # 2. Prendi il primo disco # 3. Raggiungi l'obiettivo n. 4. Rilasciare il disco nell'obiettivo -
Trascina o digita un ciclo while con una condizione not nell'area di lavoro sotto il primo commento, in modo che il tuo progetto appaia così:
def main(): #1. Drive al primo disco mentre non è in condizione: wait(5, MSEC) # 2. Prendi il primo disco # 3. Raggiungi l'obiettivo n. 4. Rilasciare il disco nell'obiettivo -
Il comando down_eye.near_object riporta True quando il sensore Down Eye sul robot VR rileva un disco colorato sul Playground del Disk Mover. I dischi si trovano sul pavimento del Playground e non possono essere rilevati dal sensore frontale, pertanto il sensore rivolto verso il basso rileverà i dischi. Trascina o digita il comando down_eye.near_object come condizione del ciclo while , in modo che la prima sezione del tuo progetto appaia così:
def main(): #1. Drive al primo disco mentre non è down_eye.near_object(): wait(5, MSEC) -
I comandi all'interno del ciclo , while verranno eseguiti quando il robot VR NON rileva un oggetto. Per raggiungere uno dei dischi, il robot VR dovrà avanzare fino a quando il disco non viene rilevato.

-
Trascina o digita un comando drive all'interno del ciclo while , in modo che la prima sezione di commento del progetto appaia così:
#1. Drive al primo disco mentre non è down_eye.near_object(): drivetrain.drive(AVANTI) wait(5, MSEC) -
Quando viene rilevato un disco, il robot VR dovrà smettere di guidare per raccoglierlo. Trascina o digita un comando stop all'esterno del ciclo while , in modo che la prima sezione di commento del progetto appaia così:
#1. Drive al primo disco mentre non è down_eye.near_object(): drivetrain.drive(AVANTI) wait(5, MSEC) drivetrain.stop() - Si noti che i comandi drive e wait sono rientrati sotto l'intestazione del loop while , il che significa che i comandi sono del loop. La linea grigia può anche aiutare a indicare quali comandi sono correttamente rientrati e all'interno di un ciclo. Il comando stop è in linea con l'intestazione del loop, il che significa che il comando stop è esterno al loop. Assicurarsi che i comandi siano rientrati correttamente o che il progetto non venga eseguito come previsto.
-
Ora, istruisci il robot VR a raccogliere il disco con l'elettromagnete trascinandolo o digitando un comando energize dopo il secondo commento, in modo che la seconda sezione del progetto appaia così:
# 2. Prendi il primo magnete del disco .Energizza (BOOST) - Aprire la finestra del parco giochi se non è già aperta. Assicurarsi che Disk Mover Playground si apra ed eseguire il progetto.
-
Il robot VR avanza fino a quando il primo disco blu non viene rilevato dal sensore Down Eye, smette di guidare e alimenta l'elettromagnete per raccogliere il disco.

Flusso del progetto per prelevare il primo disco
Nota come il ciclo while con una condizione not utilizza il feedback del sensore per prelevare correttamente il primo disco:
- Il robot VR avanza mentre il sensore Down Eye non rileva alcun oggetto.
- Una volta che il sensore Down Eye del robot VR rileva un oggetto, il progetto passa al comando successivo al di fuori del ciclo mentre e interrompe la guida.
- Il progetto continua, quindi il robot VR eccita l'elettromagnete per raccogliere il disco.

Selezionare il pulsante Avanti per continuare con il resto della lezione.