Smart Car con micro:bit

Macchina con micro:bit

Costruisci la tua Smart Car e programmala con micro:bit

micro:bit รจ una piccola scheda progettata dalla BBC come oggetto finalizzato a sviluppare le capacitร  logiche, e le competenze, nel campo della programmazione dei computer, nei giovani che frequentano i primi cicli della scuola.

Lโ€™iniziativa รจ stata coronata da successo e diversi produttori hanno sviluppato e commercializzato dispositivi aggiuntivi per ampliare le possibilitร  offerte dal micro:bit.

La Smart Car con micro:bit ci ha particolarmente incuriosito, in quanto permette di sperimentare unโ€™ampia gamma di situazioni tipiche di ciรฒ che viene definito “physical computing” utilizzando un unico kit di costo contenuto.

Tra le opportunitร  di sperimentazione, per quanto riguarda il micro:bit utilizzato singolarmente, possiamo elencare:

โ€ข la gestione di una matrice di LED 5 x 5;
โ€ข lโ€™utilizzo di un accelerometro in grado di rilevare e riconoscere diversi tipi di movimento come lo scuotimento, le rotazioni e la caduta libera;
โ€ข lโ€™utilizzo di una bussola elettronica in grado di rilevare lโ€™orientamento e la rotazione in gradi rispetto al Nord. Un’ulteriore possibilitร  potrebbe essere lโ€™utilizzo come rilevatore di metalli (magnetici);
โ€ข l’utilizzo di due pulsanti sia singolarmente che premuti in contemporanea;
โ€ข l’utilizzo del modulo Bluetooth Smart Technology che permette di connettere il micro:bit con altri dispositivi dotati della stessa tecnologia, come altri micro:bit, PC, smartphone, kit Bluetooth, tablet e fotocamere;
โ€ข l’utilizzo del modulo a radio frequenza per la comunicazione tra due o piรน micro:bit;
โ€ข la misura della temperatura ambiente utilizzando il termometro integrato;
โ€ข la possibilitร  di comunicazione via bus I2C ed SPI.

Lโ€™associazione con la scheda di espansione permette le seguenti funzionalitร  aggiuntive:
โ€ข la comunicazione di comandi per mezzo di un telecomando ad infrarossi;
โ€ข la generazione di note e melodie musicali utilizzando il buzzer cablato sulla scheda di espansione;
โ€ข la gestione multicolore di due LED RGB da 10 mm;
โ€ข la gestione multicolore di ulteriori tre LED RGB;
โ€ข sulla scheda sono replicati i pin che fanno riferimento ai bus seriale, I2C ed SPI;
โ€ข sulla scheda sono inoltre replicati i pin delle periferiche del micro:bit non utilizzate dalla scheda di espansione. In particolare i pin P4, P5, P6, P7, P10;
โ€ข lโ€™alimentazione da batteria agli Ioni di Litio con circuito di ricarica integrato nella scheda di espansione.

Le ulteriori funzionalitร  sono fruibili in modo ottimale assemblando completamente il kit โ€œrobotโ€ che include i motori, le ruote ed il sensote ad ultrasuoni. In questa configurazione sono accessibili le ulteriori funzionalitร :
โ€ข il controllo dei motori;
โ€ข l’utilizzo dei sensori frontali (agli infrarossi e agli ultrasoni) per il controllo dellโ€™ambiente circostante. Questi permettono di sperimentare funzionalitร  come evitare ostacoli e seguire oggetti;
โ€ข l’utilizzo dei sensori inferiori, agli infrarossi, per programmare un inseguitore di linea.

Infine, come ultima ciliegina, il tutto รจ controllabile per mezzo di una app per smartphone Android. In alternativa alla app รจ utilizzabile lโ€™ambiente di sviluppo standard JavaScript Blocks Editor.

I componenti della Smart Car con micro:bit

In Fig. 1 riportiamo la descrizione dei pin del connettore del micro:bit mentre in Fig. 2 riportiamo il layout della scheda di espansione con lโ€™indicazione dei dispositivi montati sulla scheda e la loro disposizione sulla stessa.

Alcune note sulla scheda di espansione del rover per micro:bit:
โ€ข il connettore per lโ€™alimentazione e la ricarica della batteria non รจ utilizzabile per programmare il micro:bit. Lโ€™operazione di programmazione del micro:bit deve essere eseguita collegando il cavo USB, proveniente dal PC, direttamente al connettore USB presente sul micro:bit;
โ€ข la ricarica della batteria รจ garantita dallโ€™integrato LTC4056, appositamente progettato per la ricarica ed il mantenimento in carica degli elementi agli Ioni di Litio. Lo stato di carica della batteria รจ indicato da due LED: il LED CHA (indicatore di carica in corso) rosso ed il LED END di colore verde che indica che la carica รจ terminata;
โ€ข Lโ€™integrato PCA9685, un driver PWM a 16 canali, pilotato tramite bus I2C, interfaccia tutti i device che richiedono un segnale PWM per essere pilotati, tra i quali i due motori in corrente continua, i due LED da 10 mm, i sensori di linea, le uscite per i servocomandi aggiuntivi e per il sensore allโ€™infrarosso per evitare gli ostacoli. Nella Tabella 1 diamo unโ€™indicazione di quali pin dellโ€™integrato PCA9685 fanno capo ai diversi sensori ed attuatori, mentre in Tabella 2 sono elencati i collegamenti ai pin del micro:bit.

 

Pin our micro:bit

ย  ย  ย  ย  ย  ย  Fig. 1 – Pin disponibili sul connettore del micro:bit.

 

La main board della Smart Car con micro:bit

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย Fig. 2 – Viste superiore e inferiore della scheda di espansione Smart Car con micro:bit

 

 

Collegamenti allโ€™integrato PCA9685

Tabella 1 – Collegamenti allโ€™integrato PCA9685.

 

 

Collegamenti ai pin del micro:bit

Tabella 2 – Collegamenti ai pin del micro:bit.

Costruzione della Smart Car con micro:bit

Il piccolo robot didattico viene fornito in forma di kit parzialmente assemblato. La scheda di espansione รจ completamente montata mentre gli altri componenti devono essere montati prima dellโ€™utilizzo. In questo modo non รจ necessario eseguire saldature. Tenete presente che nella confezione della Smart Car, distribuita da Futura Elettronica, รจ compreso il micro:bit.

 

 

Contenuto della confezione della Smart Car con micro:bit

Fig. 3 – Contenuto della confezione della Smart Car con micro:bit

 

La confezione, visibile in Fig. 3, contiene i seguenti componenti:

โ€ข 1 x scheda micro:bit;
โ€ข 1 x scheda espansione micro:bit;
โ€ข 1 x sensore a ultrasuoni con cavo
di collegamento;
โ€ข 2 x motori;
โ€ข 1 x piastra di supporto per il sensore
a ultrasuoni;
โ€ข 2 x pneumatici;
โ€ข 1 x cavo micro usb;
โ€ข 1 x controllo remoto a infrarossi;
โ€ข 1 x cacciavite;
โ€ข 4 x M3*40 colonnine in rame;
โ€ข 2 x M2*10 colonnine in rame;
โ€ข 2 x supporti sensore ultrasuoni;
โ€ข 1 x batteria al litio;
โ€ข 1 x manuale di istruzioni;
โ€ข 1 x ruotino omnidirezionale;
โ€ข 2 x supporti motore;
โ€ข viti e dadi.

Schema di montaggio della Smart Car

Fig. 4 – Schema di montaggio della Smart Car.

 

Nella Fig. 4 รจ visibile lo schema di montaggio che prevede le seguenti operazioni:

1. Montaggio dei motori utilizzando gli specifici supporti bianchi e le viti da 2x6mm e relativi dadi (viti dalla parte della scheda di supporto e dadi dalla parte dei supporti motore). Collegate i cavi dei motori agli appositi connettori a fianco degli stessi facendo attenzione al verso di collegamento;
2. Una volta montati i motori inserite le due ruote sugli assi dei motori esercitando la pressione necessaria (senza esagerare);
3. Posizionate il ruotino omnidirezionale e fissatelo con due viti da 2x6mm e relativi dadi (viti dalla parte della scheda di supporto e dadi dalla parte del ruotino);
4. Montate le quattro colonnine in ottone da 3x40mm che forniranno il supporto per il sensore ad ultrasuoni. Fissate le viti dalla parte del telaio. Poi posizionate la basetta di supporto superiore con la parte piรน lunga rivolta verso le ruote della Smart Car. Fissate le due viti posteriori da 3x8mm. Posizionate le due flange di sostegno del sensore a infrarossi e fissatele alla basetta e alle colonnine anteriori con due viti 3x8mm.
5. Collegate il cavo al sensore ad ultrasuoni;
6. Fate passare il cavo nel foro rettangolare della basetta di supporo.
Collegatelo al connettore sulla scheda di espansione ed infine fissate il sensore ad ultrasuoni alle due flange con le viti da 3x8mm e relativi dadi. Viti inserite dalla parte anteriore e dadi dalla parte delle flange;
7. Verificate che il deviatore di alimentazione sia in posizione “spento”, ovvero con la levetta verso il connettore della batteria. Posizionate la batteria sul suo alloggiamento e collegate i cavi al corrispondente connettore, di fianco al deviatore di accensione, facendo attenzione al verso. Collegate i cavi dei motori agli appositi connettori a fianco degli stessi facendo attenzione, anche in questo caso, al verso di collegamento;
8. Inserite il micro:bit nellโ€™apposito connettore, con i LED rossi rivolti verso la parte anteriore della Smart Car, quella con il ruotino. Le ruote di trazione sono nella parte posteriore.

Smart Car completamente assemblata e relativi ingombri.

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  Fig. 5 – Smart Car completamente assemblata e relativi ingombri.

 

 

In Fig. 5 รจ visibile lโ€™aspetto finale della Smart Car con le relative dimensioni. Una volta completato lโ€™assemblaggio, come prima operazione รจ opportuno eseguire una ricarica della batteria. Collegate un alimentatore da 5V con connettore micro USB (quello dei telefonini), al connettore โ€œCHARGEโ€ della scheda di supporto, con il deviatore nella posizione di spento. Si accenderร  il LED rosso che indica che la batteria รจ in carica. La fine della carica verrร  indicata dallo spegnimento del LED rosso e dallโ€™accensione di quello verde di fine carica. Ora siamo pronti per la prima programmazione della Smart Car.

Programmazione ed utilizzo della Smart Car con micro:bit

Sono disponibili diversi ambienti per la programmazione del micro:bit, la caratteristica della maggior parte di questi รจ la loro disponibilitร  via web, senza necessitร  di installare software sul proprio PC. Dopo aver caricato nella cache del browser le applet degli ambienti di sviluppo, รจ possibile scrivere i propri programmi anche in assenza di un collegamento internet. Per i dispositivi mobili, come tablet e smartphone, oltre che gli ambienti web sopra citati sono disponibili anche โ€œappโ€ gratuite scaricabili dagli store dei provider.

Prima di iniziare dobbiamo collegare il micro:bit al nostro PC utilizzando il cavo USB incluso nella confezione. Una volta collegato, micro:bit dovrebbe venire riconosciuto immediatamente come una memoria di massa USB. Nel caso di Windows XP verrร  richiesto di installare il relativo driver. Ora collegatevi al sito di riferimento di micro:bit

Nella pagina principale cliccate sul pulsante โ€œLetโ€™s Codeโ€ e vi troverete nella pagina che elenca i diversi ambienti di programmazione. Per programmare il micro:bit in modo da poter interagire con la scheda di espansione della Smart Car dobbiamo utilizzare lโ€™ambiente di sviluppo Javascript Block Editor, un ambiente di sviluppo a blocchi che si ispira alla soluzione adottata da Scratch.

Javascript BLOCK EDITOR per micro:bit

Come Scratch รจ molto semplice da usare ma non รจ un giocattolo. Permette di approfondire la programmazione strutturata e la gestione di eventi.

Il metodo di composizione di un programma consiste nello scegliere i blocchi che rappresentano le istruzioni, trascinarli nel pannello dellโ€™editor, configurarli nelle parti personalizzabili ed โ€œincastrarliโ€ in modo corretto. In questa operazione si รจ facilitati dalla forma dei blocchi. I blocchi si connettono solo se sono compatibili e le forme corrispondono. Chiaramente questo meccanismo non garantisce che la logica che si va a realizzare sia formalmente corretta, almeno dal punto di vista sintattico. Anche in questo ambiente di sviluppo vi sono blocchi molto โ€œespressiviโ€, come quello disponibile per configurare il display a LED.

Una volta terminata la fase di programmazione รจ possibile eseguire il codice, appena scritto, in ambiente di simulazione, per eseguire i test di correttezza, prima di trasferire il codice stesso sul micro:bit fisico. Per attivare lโ€™ambiente di simulazione si deve cliccare sullโ€™icona โ€œRestart the simulationโ€, quella centrale in basso a sinistra. Una volta entrati nellโ€™ambiente di simulazione possiamo provare le diverse funzionalitร .

Ambiente di sviluppo Javascript Block Editor

Fig. 6 – Ambiente di sviluppo Javascript Block Editor.

 

Dopo aver aperto lโ€™ambiente di sviluppo, per iniziare a programmare la Smart Car, รจ necessario arricchire lโ€™ambiente di sviluppo stesso con lโ€™estensione al Javascript Block Editor per la Smart Car. Per far questo cliccate sulla voce โ€œAdvancedโ€ del menu laterale a sinistra, che riassume le librerie di blocchi di programmazione disponibili. In fondo alla tendina cliccate sulla voce โ€œAdd Packageโ€ come visibile in Fig. 6.

Finestra per aggiungere i blocchi di controllo della Smart Car

Fig. 7 – Finestra per aggiungere i blocchi di controllo della Smart Car.

 

Si apre la finestra visibile in Fig. 7. In questa finestra inserite lโ€™indirizzo:ย https://github.com/lzty634158/yahboom_mbit_enย che punta al repository GitHub che contiene la libreria di blocchi specializzata per la Smart Car.

Una volta inserito lโ€™indirizzo cliccate sullโ€™icona di ricerca che, come risultato, vi visualizzerร  la libreria โ€œmbitโ€. Cliccatevi sopra ed i blocchi verranno aggiunti alla barra del menu laterale (Fig. 8).

 

Nuovi blocchi disponibili per il controlllo della Smart Car

Fig. 8 – Nuovi blocchi disponibili per il controlllo della Smart Car.

 

Una breve nota sul funzionamento della libreria. Alcuni blocchi presenti nella libreria facilitano la programmazione dei LED e dei sensori, fornendo unโ€™interfaccia a piรน alto livello rispetto a quella che richiede lโ€™impostazione dei singoli pin. Il valore aggiunto della libreria รจ quello di offrire diversi blocchi di controllo, come appunto quelli per lโ€™impostazione dei LED e per il controllo dei motori, che interfacciano i singoli pin di generazione PWM dellโ€™integrato PCA9685. Questa impostazione permette di ampliare di molto le funzionalitร  disponibili nel micro:bit usato da solo e di semplificarne, nel contempo, al massimo, lโ€™utilizzo.

Come primo esempio di utilizzo, abbiamo scelto unโ€™applicazione, tra quelle disponibili sul sito di tutoring della Smart Car, che permette di comandare il funzionamento del โ€œrobottinoโ€ utilizzando il telecomando a infrarossi.
Scorrete la pagina fino alla Sezione “3 โ€“ Robot lessons”. Cliccate sulla voce โ€œ3.9 โ€“ Infrared Controlโ€.

Nella pagina che si apre potete eseguire il download del codice del progetto stesso.

Ora, dalla finestra di programmazione, caricate il programma nellโ€™ambiente di sviluppo, cliccando sullโ€™icona a forma di cartelletta e scegliendo poi il programma โ€œmicrobit-Lesson-9-Infrared-control.hexโ€ del quale avete appena eseguito il download come visibile in Fig. 9. Cliccate sul pultante โ€œGo aheadโ€ per continuare.

Selezione del programma da caricare nellโ€™ambiente di sviluppo.

Fig. 9 – Selezione del programma da caricare nellโ€™ambiente di sviluppo.

 

Data la quantitร  di documentazione disponibile per lโ€™ambiente Scratch ci limitiamo a suggerirvi solo alcune modifiche al programma che avete aperto per limitare la velocitร  della Smart Car.

In tutti i blocchi dove vedete impostata la velocitร  a โ€œ255โ€ modificate i valori come visibile in Fig. 10, in modo da limitare la velocitร  della Smart Car, il valore di velocitร  255, che viene poi trasformato nel duty cicle assegnato al PWM di controllo dei motori, la rende un oggetto incontrollabile. Con lโ€™occasione riordinate anche i blocchi in modo da renderne piรน โ€ฆ razionale la disposizione. Un esempio รจ visibile in Fig. 10. Fatto?

Codice per il controllo della Smart Car con il telecomando.

Fig. 10 – Codice per il controllo della Smart Car con il telecomando.

 

Eseguite il download del programma, una volta in una vostra cartella in modo da avere un backup e poi, successivamente, nel file system del micro:bit, che dovrebbe apparirvi tra le memorie di massa del vostro PC con la sua letterina di identificazione. Ricordate di collegare il cavo USB proveniente dal vostro Pc al connettore USB del micro:bit e non a quello della scheda di espansione, altrimenti non si carica nulla.

Alla fine del download, scollegate il cavo USB e prendete il telecomando. La prima volta dovete togliere la protezione della batteria, altrimenti โ€ฆ niente infrarossi.

Una breve descrizione delle funzioni del telecomando รจ visibile in Fig. 11.
Il tasto โ€œ1โ€ spegne tutti i LED eventualmente accesi.
Il tasto “2”, col disegno della lampadina, accende i LED RGB con luce bianca.
I tasti “4” (โ€œ+โ€) e “5” (โ€œ-โ€) permettono di accendere i LED con luce, rispettivamente verde e rossa.
I tasti del blocco “2”, permettono di pilotare il movimento dalla Smart Car. Il significato dei tasti รจ intuibile dai disegni di riferimento.
I tasti del blocco “6”, da zero a nove, invece, permettono di presentare sul display a matrice di LED diverse configurazioni di disegni.

Accendete la Smart Car con il deviatore di alimentazione. Attendete la partenza del programma e โ€ฆ buon divertimento. Ovviamente questa รจ solo la base sulla quale potete iniziare a sperimentare, modificando questo o gli altri programmi di esempio.

 

Il telecomando e le sue funzioni.

ย  ย  ย  ย  ย  ย  ย  ย  ย  Fig. 11 – Il telecomando e le sue funzioni.

 

Come funziona la Smart Car con micro:bit

Lascia un commento

Il tuo indirizzo email non sarร  pubblicato. I campi obbligatori sono contrassegnati *

Menu