Skip to main content

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. Piastrella di selezione Disk Mover Playground, legge Disk Mover sul fondo.
  • Denominare il progetto Unit8Lesson3.Barra degli strumenti VEXcode VR con la casella del nome del progetto evidenziata. Il nome del progetto recita Unità 8 Lezione 3.

     

  • 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.

    Vista posteriore del Disk Mover Playground, che mostra il VR Robot nella posizione di partenza, e i tre dischi blu in fila si estendevano per tutta la lunghezza del Playground di fronte al robot.
  • 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.

    Una vista laterale del robot VR nel parco giochi nella prima posizione del disco blu, con il disco collegato all'elettromagnete.

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.
Un diagramma di flusso del progetto di cui sopra, che illustra il flusso con il ciclo while. Le prime due sezioni del progetto sono mostrate a sinistra e, a destra, la prima sezione ha una freccia ciclica rossa che illustra che mentre l'occhio rivolto verso il basso non rileva un oggetto, il robot avanzerà, poiché la condizione riporta come falso. Successivamente una freccia verde verso il basso accanto al comando di arresto indica che quando l'occhio verso il basso rileva un oggetto, il progetto uscirà dal ciclo e il robot si fermerà. Successivamente una seconda freccia verde verso il basso si allinea con la seconda sezione del progetto, indicando che l'elettromagnete verrà quindi eccitato.

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