Fai evolvere il tuo microbit robot car macqueen della DF Robot.
Alla micro:bit ed al robot MacQueen sono, in passato, stati dedicati alcuni articoli come:
assemblaggio
prima programmazione
ed in particolare io lo utilizzo in combinazione con il joystick dello stesso produttore e progettato per la Micro:bit.
In questo articolo leggerai come creare una funzione con l’idea online della micro:bit e come richiamarla nel tuo software.
Il joystick microbit robot car
Il joystick è necessario per poter controllare il tuo microbit robot car remotamente.
In passato hai letto come configurare lo sketch per il joystick a cui puoi apportare le modifiche che vedi di seguito:
hai notato che rispetto alla versione originale dello sketch sono stati solo aggiunte delle immagini in corrispondenza della pressione di ciascun pulsante.
In questo modo ogni volta che premi il pulsante di direzione ti comparirà la freccia nella direzione corrispondente ed ad ogni rilascio ottieni la visualizzazione dello “smile” di default.
Sono gestiti anche i pulsanti di “X” e di “Y” corrispondenti ai pulsanti giallo e blu presenti sulla destra del joypad.
Userai il primo per eseguire una melodia, inviando il segnale 5 al microbit robot car ed il secondo per eseguire la funzione che andrai a definire.
Il macqueen microbit robot car
Lo sketch del microbit robot car è da modificare leggermente per consentire a tutti i nuovi comandi di essere eseguiti dal robot stesso:
Puoi realizzare il codice visuale seguente questa immagine:
in cui sin dalla funzione di “on start” ci sono alcune modifiche:
aggiungi la gestione dei neopixel montati a bordo del robot macqueen, si tratta di 4 led connessi al pin P15;
quindi potrai realizzare la sequenza luminosa di startUp intervallando un tag “show color” ad una pausa di 500 millisecondi e selezionando per ciascun tag il colore che desideri sia visualizzato dal led;
On radio received
spostandoti a destra dell’immagine riconosci il blocco di codice relativo a “on radio received” che viene ingaggiato ogni volta che la micro:bit riceve un segnale radio ed inserisce il valore ricevuto nella variabile receivedNumber;
il valore acquisito viene trasferito in una variabile “item” che poi sarà valutata dai blocchi successivi.
La parte relativa alla ricezione dei valori da 0 a 4 ti serve per impartire al robot i comandi di movimento e non differisce dal precedente articolo dedicato al robot, i due nuovi valori sono relativi alla ricezione del valore 5 e 6:
il valore 5 determina l’esecuzione di una melodia definita per il numero di volte che desideri, nel mio esempio “once” ( una sola volta );
il valore 6 invece richiama una funzione:
che ho definito nello sketch “rainbow” in quanto realizza un effetto multicolore nel microbit robot car.
## La funzione rainbow
la funzione rainbow la puoi definire cliccando sul menu “functions” e poi “new”, le assegni un nome in modo che possa essere richiamata facilmente dallo sketch e la popoli con le attività che desideri siano eseguite quando la richiamerai:
nell’esempio imponi ai led neopixel ( tutti e 4 insieme ) di accendersi secondo la sequenza:
- red
- orange
- yellow
- green
- blue
- indigo
- violet
- purple
- white
e “black” ti serve per spegnere nuovamente i led.
Ciascun colore sarà visibile per 500 millisecondi.
Il video
ho realizzato un piccolo video in cui puoi osservare come si muove il microbit robot car alla pressione dei pulsanti ruotando su se stesso:
avrai notato che la sequenza di avvio, dopo la visualizzazione dei colori, emette un suono, ho voluto evitare di includerti anche quella parte dello sketch per lasciarti uno spunto di realizzazione:
Prova a far in modo che il setup termini eseguendo una melodia, se riesci a realizzare la medesima usala, altrimenti realizza la tua melodia e condividi il video del tuo robot macqueen nei commenti.