Lezione 3: Ingresso con sensori multipli
Nella lezione precedente, il sensore di distanza è stato utilizzato per determinare se il robot VR ha rilevato o meno un oggetto e, in tal caso, ha guidato in avanti verso l'oggetto. Tuttavia, non sono stati utilizzati valori del sensore per determinare se il robot VR fosse vicino al bordo del parco giochi per fermarlo. Fermare il robot VR quando era vicino al bordo del parco giochi gli impedirebbe di allontanarsi lateralmente.

Così com'è, il progetto ripete i comportamenti di andare avanti e girare, per sempre. Tuttavia, non vi è alcuna condizione per verificare la presenza del bordo rosso intorno al Parco Giochi. Pertanto, il robot VR può cadere dal parco giochi quando si guida in avanti.

È necessario un altro sensore affinché il robot VR sia in grado di determinare se è vicino al bordo del parco giochi o meno. I comportamenti di guida in avanti e di svolta devono solo ripetersi fino a quando non viene rilevato il bordo rosso. Pertanto, il blocco [Forever] può essere sostituito con il blocco [Repeat until], al fine di ripetere i comportamenti di guida in avanti e di rotazione fino a quando non viene soddisfatta la condizione di rilevamento del bordo rosso. Il sensore Down Eye può essere utilizzato per determinare se il robot VR è vicino al bordo del parco giochi rilevando il bordo rosso intorno al parco giochi.

- Caricare il progetto Unit9Lesson2 dalla lezione precedente.

- Rinominare il progetto Unit9Lesson3.

- È necessario un blocco per controllare continuamente il sensore Down Eye. Il robot VR dovrà ripetere questi comportamenti fino a quando il sensore Down Eye non rileverà il colore rosso. Per prima cosa, rimuovere il blocco [Forever].

- Aggiungere un blocco [Ripeti fino a].

- Aggiungere un <Color sensing> blocco all'interno del blocco [Repeat until] e impostare i parametri su ‘DownEye’ rileva ‘red’.

In questo progetto viene utilizzato un blocco [Ripeti fino a] anziché un blocco [Attendi fino a]. Questo perché un blocco [Wait until] è un blocco di attesa che metterà in pausa il flusso del progetto fino a quando non viene soddisfatta la condizione. Se viene utilizzato un blocco [Wait until], il blocco [If then else] non verrà eseguito fino a quando non verrà soddisfatta la condizione del blocco [Wait until] e il blocco [If then else] verrà eseguito una sola volta.

Utilizzando un blocco [Repeat until], la condizione [If then else] viene costantemente controllata ed eseguita.

- Aggiungi un commento per annotare lo scopo dell'utilizzo del blocco [Ripeti fino a].

- Apri il parco giochi Dynamic Castle Crasher e gestisci il progetto.
-
Quando questo progetto viene eseguito, il robot VR si dirigerà verso un oggetto rilevato e girerà a destra in caso contrario. Tuttavia, anche se il sensore Down Eye sta cercando il bordo rosso, al robot VR non viene detto cosa fare una volta rilevato il rosso, quindi continua a guidare e alla fine cade dal parco giochi.

Una volta soddisfatta la condizione del blocco [Repeat until], il flusso del progetto verrà eseguito dal blocco [Repeat until].
Selezionare il pulsante Avanti per continuare con il resto della lezione.