Skip to main content

Lezione 2: Utilizzo di più cicli While

Proseguimento attraverso il labirinto del muro

Ora abbiamo utilizzato un ciclo while con il sensore paraurti per far sì che il robot VR smetta di muoversi quando raggiunge il muro. Tuttavia, per continuare attraverso il labirinto della parete, il robot VR deve girare quando raggiunge una parete, in modo che possa cambiare direzione e continuare. 

  • Per iniziare, rimuovi il comando stop all'esterno del ciclo while  e sostituiscilo con un comando turn_for . Impostare i parametri per far ruotare il robot VR a sinistra di 90 gradi. Il tuo progetto dovrebbe assomigliare a questo:

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	drivetrain.turn_for(LEFT, 90, DEGREES)
  • Avviare il Wall Maze Playground se non è già aperto ed eseguire il progetto.
  • Guarda il robot VR guidare dall'inizio del labirinto a parete, fermati quando il sensore paraurti viene premuto dal muro e gira a sinistra di 90 gradi.

    Una vista dall'alto verso il basso del Wall Maze Playground. Il robot VR si è spostato in avanti dalla freccia verde di partenza nella parte inferiore del parco giochi fino a colpire un muro di fronte ad esso. Ora è rivolto a 90 gradi a sinistra, quindi è rivolto verso il muro a sinistra di esso.

I loop multipli e il problema del labirinto a parete

Ora il robot VR ha raggiunto un muro e si è girato in modo da poter continuare a guidare attraverso il labirinto. Nello stesso modo in cui i dati del sensore Bumper sono stati utilizzati in un ciclo while per questo primo passaggio nel labirinto, la stessa struttura può essere utilizzata più volte nello stesso progetto per far sì che il robot VR continui ad attraversare il labirinto. Più cicli while possono essere utilizzati nello stesso progetto.

  • Partendo dalla posizione attuale del robot VR, il passo successivo per risolvere il labirinto a muro sarebbe quello di avanzare fino alla parete successiva e girare a destra di 90 gradi. I comandi esistenti possono essere copiati e incollati sotto i comandi precedenti while loop e turn_for. Ricordatevi di fare attenzione al rientro e di modificare i nuovi parametri del comando turn_for per ruotare di 90 gradi a destra. Il tuo progetto dovrebbe assomigliare a questo:

    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)
  • Reimposta il Wall Maze Playground ed esegui di nuovo il progetto.
  • Guarda il robot VR guidare dall'inizio del labirinto a parete, fermarsi quando il sensore paraurti viene premuto dal muro, girare a sinistra di 90 gradi, avanzare fino a quando il sensore paraurti viene nuovamente premuto da un muro, quindi girare a destra di 90 gradi e fermarsi.

    Una vista dall'alto verso il basso del Wall Maze Playground. Il robot VR si è spostato in avanti dalla freccia verde di partenza fino a quando non è andato avanti, ha girato a sinistra e si è spostato di nuovo in avanti fino a colpire la parete successiva. Ora è rivolto a 90 gradi a destra dopo il suo movimento, che lo ha rivolto verso la parete superiore.

Mini sfida

Per questa mini sfida, crea un progetto in cui il robot VR guida dall'inizio alla lettera "A" sul labirinto a muro del parco giochi utilizzando più loop   e il sensore paraurti!

Una vista dall'alto verso il basso del Wall Maze Playground con il robot VR nella posizione di partenza nella parte centrale inferiore del parco giochi. La lettera A si trova direttamente a sinistra del robot, separata da una parete corta.

Segui questi passaggi per completare la mini sfida:

  • Guarda il video della soluzione qui sotto per vedere come dovrebbe guidare il robot VR per completare la mini sfida. In questo video, il robot VR inizia dall'inizio in basso al centro del parco giochi. Si muove in avanti fino a quando il sensore paraurti viene premuto dalla parete opposta, poi gira a sinistra e si dirige verso la parete successiva di fronte ad esso. Quando il paraurti viene premuto su quella parete, il robot gira di nuovo a sinistra e avanza fino a raggiungere la parete finale e la lettera A.

  • Creare un progetto aggiungendo o rimuovendo i comandi necessari al progetto Unit4Lesson2.
  • Avviare il progetto per testarlo.
  • Se il progetto non va a buon fine, modificalo e riprova. Continuare a rivedere ed eseguire il progetto fino a quando il robot VR non guida con successo dall'inizio alla lettera "A".
  • Salvare il progetto una volta che il robot VR guida con successo dall'inizio alla lettera "A".

Congratulazioni! Hai risolto la mini sfida!

Domande

Seleziona un link qui sotto per accedere al quiz della lezione.

Google Doc / .docx / .pdf