Skip to main content

Lezione 2: Guida verso il numero "5"

In questa lezione, il robot VR guiderà verso il numero "5" e tornerà al numero "1" nel parco giochi della mappa della griglia dei numeri!

Una vista dall'alto verso il basso del parco giochi Number Grid Map, con il numero 5 evidenziato da un riquadro rosso. Il robot VR inizia dal numero 1 e il quadrato del numero 5 è di quattro spazi a destra.

Si noti che il robot VR viaggerà lungo l'asse X con valori X crescenti per passare al numero "5" nel parco giochi della mappa della griglia numerica.

Una vista dall'alto verso il basso del parco giochi Number Grid Map, con lo spazio numero 5 evidenziato da una casella nera. Una linea indica le misurazioni lungo l'asse X, con il primo spazio di -900 millimetri sull'asse X e il successivo di -700 che continua a contare di 200 ogni volta. Il quinto spazio si trova in una posizione X di -100 millimetri.

Il robot VR guiderà fino alla posizione del numero "5" nel parco giochi della mappa della griglia numerica. Tuttavia, prima che il robot VR possa raggiungere quel numero, al robot VR deve essere detto dove si trova quel numero. A partire dal centro del parco giochi, le coordinate del numero "5" sono (-100, -900).

Una vista dall'alto verso il basso del parco giochi Number Grid Map, con due indicatori di asse che indicano la posizione del quinto spazio. Il Robot VR parte da -900 X e -900 Y, mentre il quinto spazio è a -100 X e -900 Y.
  • Per iniziare, il robot VR deve essere rivolto verso il numero "5". Trascina un blocco [Gira per] nell'area di lavoro.

    VEXcode VR blocca il progetto che inizia con un blocco When Started seguito da un blocco Turn For per girare a destra di 90 gradi.
  • Trascinare il blocco [Drive] non in attesa nell'area di lavoro.

    Una continuazione del progetto dei blocchi VEXcode VR, ora con un blocco Drive Forward aggiunto dopo il blocco Turn For. L'intero progetto ora recita All'inizio, gira a destra per 90 gradi e poi vai avanti.
  • Collegare un blocco [Wait until] sotto il blocco [Drive].

    Una continuazione del progetto dei blocchi VEXcode VR, ora con un blocco Wait Until aggiunto dopo il blocco Drive Forward. L'intero progetto ora recita All'inizio, gira a destra per 90 gradi e poi vai avanti. Infine ora c'è un blocco Wait Until con un parametro booleano vuoto.
  • Il blocco [Wait until] accetta le condizioni booleane. Proprio come l'unità sensore di distanza, questo progetto utilizzerà i condizionali per guidare attraverso il parco giochi della mappa della griglia numerica. Trascinare il blocco reporter <Greater than> booleano nel blocco [Wait until].

    Una continuazione del progetto dei blocchi VEXcode VR, ora con un blocco Maggiore di inserito nel blocco Attendi fino a. L'intero progetto ora recita All'inizio, gira a destra per 90 gradi e poi vai avanti. Infine, ora c'è un blocco Attendi fino a con un blocco Maggiore di che dice "vuoto è maggiore di 50".
  • Si noti che il <Greater than> blocco viene utilizzato al posto del <Less than> blocco perché il robot VR sta guidando a destra dal lato sinistro del parco giochi. Il robot VR parte da un valore X di -900 millimetri (mm). Man mano che il robot VR avanza, i valori X aumentano.

    La stessa vista dall'alto verso il basso del parco giochi della mappa della griglia numerica con due indicatori dell'asse che segnano la posizione del quinto spazio rispetto a prima. Il Robot VR parte da -900 X e -900 Y, mentre il quinto spazio è a -100 X e -900 Y.
  • Trascinare il blocco (Posizione del robot) nel <Greater than> blocco.

    Una continuazione del progetto dei blocchi VEXcode VR, ora con una posizione del blocco Robot inserita nel blocco Maggiore di. L'intero progetto ora recita All'inizio, gira a destra per 90 gradi e poi vai avanti. Infine, attendere che la posizione X del robot in millimetri sia maggiore di 50.

    Per tua informazione

    Il blocco (Posizione del robot) è un blocco reporter numerico che riporta la posizione delle coordinate X o Y del centro del robot VR. Scegliere se riportare la posizione della coordinata X o Y.

    La Posizione del blocco Robot con il menu a tendina assi aperto, modificando l'asse di misura da X a Y.

    Utilizzo di blocchi di interruttori 

    Questo è il blocco Interruttore (Posizione del Robot). Per modificare il parametro del blocco (Posizione del robot) per riportare la coordinata Y, è sufficiente digitare "Y" per il valore della coordinata o selezionare il suggerimento di coordinata che appare. 

    Una posizione del blocco interruttori del robot per dimostrare la funzione di completamento automatico. Il blocco legge 'location.position(X, MM)' e l'utente sta modificando il parametro X in Y utilizzando il completamento automatico.

    Il blocco (Posizione del robot) può riportare valori in millimetri (mm) o pollici.

    Si apre il menu a tendina Posizione blocco Robot con unità di misura, cambiando l'unità di misura da millimetri a pollici.

    È possibile modificare il parametro per l'unità di misura durante l'utilizzo del blocco Interruttore (Posizione del robot) semplicemente digitando "POLLICI" o selezionando il suggerimento che appare. Assicurarsi di utilizzare tutte le lettere maiuscole durante la digitazione dei parametri per le unità di misura.

    Una posizione del blocco interruttori del robot per dimostrare la funzione di completamento automatico. Il blocco legge "location.position(X, MM)" e l'utente sta modificando il parametro millimetrico in pollici utilizzando il completamento automatico.

  • Impostare il parametro del <Greater than> blocco a -100.

    Una continuazione del progetto dei blocchi VEXcode VR, ora con il secondo parametro del blocco Greater Than cambiato da 50 a -100. L'intero progetto ora recita All'inizio, gira a destra per 90 gradi e poi vai avanti. Infine, attendere che la posizione X del robot in millimetri sia maggiore di -100.
  • Trascina un blocco [Stop driving] e aggiungilo al progetto.

    Una continuazione del progetto dei blocchi VEXcode VR, ora con un blocco Stop Driving aggiunto sotto il blocco Wait Until. L'intero progetto ora recita All'inizio, gira a destra per 90 gradi e poi vai avanti. Infine, attendere che la posizione X del robot in millimetri sia maggiore di -100 e quindi interrompere la guida.
  • Aprire il Number Grid Map Playground se non è già aperto ed eseguire il progetto.
  • Guarda il robot VR guidare al numero "5" nel parco giochi della mappa della griglia dei numeri.

    Una vista dall'alto verso il basso del parco giochi Number Grid Map, con il robot VR che si è diretto verso il quinto spazio.
  • In questo progetto, il robot VR si sposta sul numero "5" nel parco giochi della mappa della griglia dei numeri. Il blocco [Wait until] viene utilizzato in modo che il robot VR continui ad avanzare fino a quando il valore X è maggiore del valore X della coordinata su cui si trova il numero indicato.
  • Una volta che il valore X è maggiore di -100, il progetto passa al blocco successivo nella pila, che è un blocco [Stop driving]. Poiché il valore X del numero "5" è -100, il robot VR smetterà di guidare una volta che il valore X è maggiore di -100.

Un diagramma che visualizza il flusso della logica nel progetto VEXcode VR Blocks. Il progetto inizia girando a destra per 90 gradi e poi guidando in avanti, e mantiene quel comando fino a quando la posizione della posizione X del sensore del robot in millimetri è maggiore di -100, dopo di che un blocco Stop Driving termina il comando Drive Forward.

Utilizzo dei blocchi degli interruttori 

In questa lezione, hai imparato come utilizzare il blocco VEXcode [Attendi fino a] con una condizione booleana per comandare al robot di attendere fino a quando il robot non raggiunge una posizione maggiore di -100 sull'asse X prima di passare al comportamento successivo.

Il blocco VEXcode VR che legge la posizione Wait Until X del robot in millimetri è maggiore di -100.

L'immagine sottostante mostra il blocco Switch [Wait until] con gli stessi comandi in Python. All'interno del blocco Switch, while notlocation.position (X, MM) > -100: è il primo comando Python che controlla se la posizione del robot lungo l'asse X è maggiore di -100.

Il comando rientrato, wait (5, MSEC) sospende l'esecuzione del controllo per un determinato periodo di tempo. In questo esempio, il progetto controlla se la posizione del robot è maggiore o meno di un valore X di -100 ogni 5 MSEC. Questa riga di codice è rientrata sotto la prima riga di codice perché questo comando è il comportamento che si ripeterà fino a quando non verrà soddisfatta la condizione (un valore di coordinata X maggiore di -100). 

Blocco switch VEXcode VR con codice Python che legge 'while not location.position(X, MM) > -100: wait(5, MSEC)'.

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