Skip to main content

Lezione 3: Guida verso il numero "1"

  • Ripristinare il parco giochi per riportare il robot VR alla posizione di partenza.
  • Ora, il robot VR si girerà e tornerà al numero "1" una volta raggiunto il numero "31" nel parco giochi della mappa della griglia dei numeri.

    Una vista dall'alto verso il basso del parco giochi della mappa della griglia dei numeri, con due indicatori dell'asse che indicano la posizione dello spazio del numero 31. Il robot VR si trova nello spazio numero 31 a -900 X e -300 Y.
  • Rimuovere il blocco [Stop driving] e sostituirlo con i seguenti blocchi.

    Una panoramica dei blocchi che devono essere aggiunti al nostro progetto da prima per guidare il robot dallo spazio 1, allo spazio 31 e di nuovo allo spazio 1. Questo viene fatto aggiungendo blocchi turn, drive e wait prima del blocco Stop Driving. Il progetto completo ora legge All'avvio, avanzare e attendere che la posizione Y del robot in millimetri sia maggiore di -300. Quindi gira a destra per 180 gradi e poi guida in avanti. Infine, attendere che la posizione Y del robot in millimetri sia inferiore a -900 e quindi interrompere la guida.
  • Si noti che il secondo blocco [Wait until] contiene un <Less than> blocco invece di un <Greater than> blocco. Questo perché il robot VR sta ora scendendo lungo l'asse Y e i numeri stanno diventando più negativi. Il robot VR si fermerà una volta che i valori Y sono INFERIORI a -900.

    Lo stesso VEXcode VR blocca il progetto per guidare il robot VR dallo spazio 1, allo spazio 31, allo spazio 1, con il secondo blocco Wait Until evidenziato per attirare l'attenzione sull'uso di un blocco Less Than invece di un blocco Greater Than. L'intero progetto legge All'avvio, avanzare e attendere che la posizione Y del robot in millimetri sia maggiore di -300. Quindi gira a destra per 180 gradi e poi guida in avanti. Infine, attendere che la posizione Y del robot in millimetri sia inferiore a -900 e quindi interrompere la guida.
  • Avviare il Number Grid Map Playground se non è già aperto ed eseguire il progetto.
  • Guarda il robot VR guidare al numero "1" nel parco giochi della mappa della griglia dei numeri.
  • In questo progetto, il robot VR si sposta sul numero "1" nel parco giochi della mappa della griglia dei numeri. Poiché i valori Y stanno diminuendo mentre il robot VR passa al numero "1", il progetto utilizza un <Less than> blocco.
  • Il Robot VR si fermerà una volta che il suo valore Y è inferiore al valore Y della coordinata su cui si trova il numero indicato. Poiché il valore Y del numero "1" è -900, il robot VR smetterà di guidare una volta che il valore Y è inferiore a -900.

    Un diagramma che visualizza il flusso della logica nel progetto VEXcode VR Blocks su cui stiamo lavorando. Il progetto inizia guidando in avanti e mantiene tale comando fino a quando la posizione della posizione Y del sensore del robot in millimetri è maggiore di -300. Quindi girare a destra per 180 gradi e guidare in avanti, tenendo premuto quel comando fino a quando la posizione della posizione Y del sensore del robot in millimetri è inferiore a -900, dopo di che un blocco Stop Driving termina il comando Drive Forward.

    Per tua informazione

    I commenti vengono solitamente aggiunti ai progetti per spiegare ciò che un programmatore vuole che le parti di un progetto facciano. I commenti sono utili quando si collabora e si risolvono i problemi, in quanto forniscono contesto e significato generale al codice. L'utilizzo dei commenti consente al programmatore di pensare concettualmente all'obiettivo generale e all'intenzione del progetto, invece di cercare di "indovinare e verificare". Vuoi ricordare quali coordinate vanno con un certo numero? Aggiungi un commento che dice "Raggiungi l'81 situato a (-900, 700)." Questo aiuta a comunicare diverse sezioni e blocchi del progetto.

    Un esempio VEXcode VR blocca il progetto per guidare il robot dallo spazio 1, allo spazio 81, allo spazio 41. Sono stati aggiunti commenti per rendere il codice più leggibile ed elencare le coordinate di ciascuna posizione per facilitare il debug. Il progetto inizia con un blocco When Started seguito da un commento che dice 'Drive to 81 located at (-900,700)'. Avanti e attendere fino a quando la posizione Y del robot in millimetri è maggiore di 700. Successivamente un commento recita "Gira" seguito da un blocco per girare a destra di 180 gradi. Il prossimo è un altro commento che legge "Drive to 41 situato a (-900, -100)" seguito da un blocco Drive Forward. Infine, attendere che la posizione Y del robot in millimetri sia inferiore a -100 e quindi interrompere la guida.

    Per maggiori informazioni sui commenti, consulta l'articolo commenti - VR Blocks .

Utilizzo di blocchi di interruttori 

L'immagine sottostante mostra il progetto sopra convertito in un blocco Switch. Si noti che i commenti in Python sono scritti in verde. Puoi scrivere commenti in Python inserendo un segno di cancelletto (#) seguito dal tuo commento. 

Un'implementazione dello switch VEXcode VR blocca il codice per viaggiare dallo spazio 1, allo spazio 81, allo spazio 41. Il codice dell'interruttore è lungo 11 righe, come segue: '# Drive to 81 located at (-900, 700), drivetrain.drive (FORWARD), while not location.position (Y, MM) > 700: wait(5, MSEC), # Turn around, drivetrain.turn_for (RIGHT, 180, DEGREES), # Drive to 41 located at (-900, -100), drivetrain.drive (FORWARD), while not location.position (Y, MM) < -100: wait(5, MSEC), drivetrain.stop ()'.

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