top of page

MISSION COUNT

Aurora P.

Ciao,

Benvenuto nella prima guida ai programmi avanzati.

Oggi ti insegnerò ad inserire tutte il lanci del tuo robot in un unico programma.
Non si tratta di un programma complesso da realizzare e può aiutarti a rendere più efficiente la tua RobotGame.

Preparati con il robot e un nuovo progetto aperto sul tuo dispositivo di programmazione.

 

Aurora

Introduzione

Se hai maturato un po di esperienza con Spike ti sarai accorto che quando vuoi cambiare o avviare un programma ci sono delle animazioni che ti fanno perdere qualche secondo ad ogni cambio in base.

La nostra squadra ha ideato un sistema che permette di avviare ogni lancio in modo istantaneo premendo soltanto un tasto.

Grazie al Mission Count possiamo avviare rapidamente i nostri lanci, arrestare il robot durante la corsa e passare al lancio successivo in modo rapido ed efficace.

Creazione della Variabile

Per prima cosa dobbiamo creare la variabile Mission Count che si occupa di memorizzare il numero del lancio corrente.

​

Inseriamo quindi il set up della nostra variabile all'avvio del programma pertanto il suo valore a 1.

Inseriamo quindi un blocco per scrivere il valore di questa variabile sullo schermo. Nel nostro caso aggiungiamo anche un blocco per aggiustare l'orientamento del display in modo che i numeri siano facilmente leggibili dai nostri driver.

programma base
programma base
programma base
programma base

Avvio dei Lanci

Ora che abbiamo impostato il valore del Mission Count e lo abbiamo scritto sul display continuiamo inserendo l'evento che ci permette di avviare il nostro programma.

Per prima cosa inseriamo un blocco Quando il pulsante destro/sinistro è rilasciato che determina l'azione che dobbiamo eseguire per avviare il nostro lancio.
 

Agganciamo ad esso tutte le operazioni che vogliamo eseguire prima di ogni lancio. Noi per esempio restiamo sempre l'angolo misurato dal nostro giroscopio prima di partire. Ricordati sempre di attendere qualche decimo di secondo prima e dopo il reset per evitare che il giroscopio subisca accelerazioni durante questa operazione delicata.

 

Inseriamo quindi un blocco Se che ci permette di eseguire le operazioni contenute soltanto quando il mission count è uguale al numero del lancio specifico. Per il primo lancio avremo la condizione Se Mission Count è uguale a 1, per il secondo inseriamo il valore 2 e cosi via per tutti i nostri lanci.

​

All'interno di questi se andremo ad inserire i vari lanci che il nostro robot deve eseguire. 

Per concludere questa parte di programma dobbiamo aggiornare la variabile Mission Count e scrivere sul display il suo nuovo valore per permettere ai driver di sapere quale lancio stanno per eseguire.

​

dopo tutti i blocchi Se inseriamo il blocco Cambia Mission Count di 1 e scriviamo nuovamente il valore del mission count.

programma base
programma base
programma base
programma base
programma base
programma base
programma base
programma base

Arresto dei Lanci

L'ultima parte di programma che dobbiamo scrivere è quella che ci permette di interrompere il robot durante un lancio e di passare ai lanci successivi.

Qursta azione deve essere eseguita quando viene premuto l'altro tasto del nostro Hub, inseriamo il blocco Quanto il pulsante di destra è premuto e per prima cosa interrompiamo l'esecuzione di tutti gli altri Stack. 
Per farlo inseriamo il blocco arresta altri Stack.

Una volta interrotte le altre esecuzioni andiamo ad arrestare tutti i motori utilizzando il blocco Arresta motori e aggiorniamo il Mission Count.

​

E' molto importante che il blocco che arresta gli Stack sia posizionato prima dell'arresto dei motori per impedire che questi vengano avviati nuovamente da una delle operazioni eseguite dagli altri Stack.
 

Per concludere dobbiamo inserire una condizione che permette di riportare il Mission Count al valore iniziale quando abbiamo superato il numero dei nostri lanci.
Se per esempio abbiamo previsto di eseguire 6 lanci inseriamo una condizione che riporti automaticamente la variabile Mission Count a 1 se questa è arrivata a 7 visto che non abbiamo in lancio 7.

La condizione è Se Mission Count è uguale a 7 Porta Mission Count a 1.

Questa condizione può essere inserita anche in coda allo Stack che contiene i lanci.
Ricordati di inserire questa condizione prima di aver scritto il valore di Mission Count sullo schermo altrimenti il display mostrerà il valore 7 anzi che il valore 1.

programma base
programma base
programma base
programma base
programma base
programma base
bottom of page