Condivido con tutti voi uno dei progetti che ho mostrato durante l’ultimo mio corso sulla realizzazione di robot a basso costo: RobotArm:bit, un piccolo braccio robot controllato da BBC micro:bit che può essere stampato in 3D oppure realizzato in cartone. Il robot è pensato per l’utilizzo con allievi della primaria e della secondaria di primo grado.
Il piccolo braccio robot è costituito da 3 servomotori ed il loro controllo può essere effettuato in diversi modi, utilizzando ad esempio una scheda :move della Kitronik, oppure direttamente con micro:bit ed una batteria da 6V per alimentare i servomotori e il micro:bit, soluzione adottata in questa guida. Si tanga in conto che la soluzione che mostro in questo post prevede la modifica di un cavo micro usb da cui vengono prelevati i cavi positivo e negativo che vengono poi connessi sulla breadboard, in questo modo riusciremo ad alimentare tutta l’elettronica usata.
Il circuito di collegamento è molto semplice, i pin di controllo dei servomotori vengono connessi ai pin: 0, 1, 2 del micro:bit.
Per la costruzione della struttura seguire il video che segue. Tutti gli elementi in cartone sono stati incollati utilizzando della colla a caldo. Una goccia di colla è stata utilizzata per serrare gli alberi di rotazione dei servo alle varie parti del robot.
Nel video allegato i dettagli per la realizzazione della versione in cartone.
Codice di esempio
In allegato il codice di esempio per il controllo del braccio robot, i corsisti riceveranno ulteriori materiali.
In occasione del corso: creare un kit di robotica educativa a basso costo – 3′ edizione rendo pubblico il progetto del “Ciao Ciao Box” un dispositivo che è stato realizzato con BBC micro:bit V2 pensato per allievi della scuola elementare e media. Come annunciato recentemente sui vari social sto sviluppando una versione su cui sarà possibile bloccare magneticamente, con viti o con mattoncini Lego altri oggetti o scatole interattive programmabili.
Come potete intuire questo tipo di interazione potrà avvenire anche con altri Microcontrollori, ma la semplicità di programmazione di micro:bit rende la realizzazione di questo scatola interattiva interessante con gli studenti più giovani.
Ma come realizzare questo tipo di oggetto?
Innanzitutto l’interazione che mostro in questa lezione è tra due box con bandiera, il cui movimento è realizzato da un piccolo servomotore SG90 ed un terzo box che ha l’unico scopo di emettere un suono che sarà diverso in funzione del box trasmittente.
Quindi 3 box con le seguenti funzionalità:
box 1 emettitore suono. Emette suoni diversi in funzione del box che muove la bandiera
box 2 invio messaggio “muovi bandiera” al box 3 e nel contempo può ricevere il messaggio “muovi bandiera” dal box 3
box 3 invio messaggio “muovi bandiera” al box 2 e nel contempo può ricevere il messaggio “muovi bandiera” dal box 2
Perché usare il box 1 per emettere un suono?
Intuitivamente si potrebbe si potrebbe essere portati a pensare che questa funzionalità poteva essere riprodotta dal box 2 e dal box 3, ma ciò non è possibile.
La gestione del servomotore e nel contempo dell’emissione del suono non può essere fatta contemporaneamente in quanto il comportamento dei due dispositivi elettronici non risponde ai comandi impartiti dalla programmazione. Dal puntosi vista tecnico è presente un unico timer che gestisce il ciclo di funzionamento e il timer può essere usato o dal servomotore o dal buzzer non da entrambi.
Per evitare il comportamento anomalo viene demandata l’emissione del suono al box 1.
Il progetto pertanto potrebbe essere realizzato con un micro:bit V2 dotato di buzzer e due microbit V1 a cui demandiamo il controllo dei servomotori.
Ovviamente se disponete di soli micro:bit V1 potrete connettere un buzzer esterno al micro:bit inserito nel box 1, per questa operazione fate riferimento alle schede di progetto condivise su questo sito.
Struttura del box
Si tratta di un cubo 10×10 cm. La realizzazione dei box può essere fatta con qualsiasi materiale: cartone, compensato, foam. Potreste anche riciclare scatole di alimenti: latte, pasta, sale ecc…
Per chi desidera realizzare le medesime scatole che vedete nell’immagine introduttiva di questa lezione condivido il file pdf che potrà essere utilizzato per tagliare a laser tutte le facce del cubo in cui troverete gli inserti per i pulsanti e i servomotori.
Per chi invece non può utilizzare una macchina a taglio laser condivido il file pdf delle facce del cubo su cui poi voi dovrete realizzare i fori per l’inserimento dei pulsanti e dei servomotori.
Materiali utilizzati
Tutti i materiali potete trovarli su qualsiasi store online e la quasi totalità di quelli in eleco li trovate su Amazon.
Compensato spessore 3 mm (se costruite i box in compensato)
Pulsanti 6 colori 12×24 mm
Servomotori SG90 (0°-180°)
Edge Connector Breakout Board per micro:bit
Jumper corti maschio/maschio (fili da usare per la breadboard)
mini breadboard da 170 punti
Contenitore 4 batterie AA da 1,5 V con interruttore
Fogli di cartone ondulato formato A4 da 4 mm di spessore
Viti M3 12 mm e dadi M3
Collegamenti
Box 1
Si suppone in questo circuito l’utilizzo di un micro:bit V2
Box 2
Box 3
Come potete notare i circuiti per il box 2 e 3 differiscono solamente per il pin a cui connettiamo il pulsante.
E’ essenziale notare due cose:
il micro:bit e il servomotore sono alimentati da due batterie diverse, il micro:bit a 3V mentre il servomotore con un pacco batterie da 6V. Il positivo del servomotore va solamente collegato al pacco batterie da 6V
Le masse dei due pacchi batterie sono comuni, si noti il collegamento a massa del micro:bit sulla breadboard e quello del servomotore al pacco batterie.
E’ possibile evitare il pacco batterie da 3V, ma per questa operazione è necessario effettuare una modifica al cavo micro USB utilizzato per connettere il micro:bit al computer, ma demando questa spiegazione ad una prossima lezione.
Per i colleghi che seguono il mio corso darò ulteriori dettagli tecnici e alternative di progettazione.
Programmazione
All’interno del codice condiviso troverete alcune indicazioni sul funzionamento, essenziale porre estrema attenzione al codice dei Box 2 e 3 in cui nel blocco “on start” ho abilitato le resistenze di pull-up sui pin 2 e 8 del micro:bit, questa operazione eviterà di utilizzare due resistori esterni di pull-up connessi al pulsante.
In questa sperimentazione, per i box 2 e 3 ho utilizzato un solo pulsante, lascio a voi le modifiche del circuito e la programmazione per abilitare il funzionamento del secondo pulsante.
Consiglio, per i box 2 e 3 di effettuare il trasferimento del codice sul micro:bit senza connettere il micro:bit all’edge connector, una volta effettuato il trasferimento del programma, scollegatelo dal computer ed inseritelo all’interno dell’edge connector.
Programmazione box1
Programmazione box 2 e 3
Maggiori dettagli su collegamenti e funzionalità da aggiungere durante il corso in presenza.
Capita spesso di avere la necessità di espandere lo spazio di archiviazione da dedicare ai programmi su Raspberry Pi, o ancora dovete ripristinare il backup di un sistema operativo su una scheda SD di dimensioni più ampie rispetto alla scheda su cui era memorizzato in precedenza il sistema operativo, infatti il ripristino su una scheda con spazio di archiviazione maggiore non modifica necessariamente la dimensione della partizione del disco.
L’espansione del file system dopo aver aggiornato la vostra scheda Micro SD è un processo semplice e veloce, vediamo come procedere.
Espandere il filesystem
Così come dettagliato nella lezione precedente siamo nella situazione di aver copiato l’intero contenuto di una scheda SD da 8 GB su cui è installato Raspberry Pi OS e per mancanza di spazio abbiamo trasferito l’intera immagine su una scheda SD da 32 GB.
Attenzione! Così facendo però lo spazio usato dalla partizione del/root/ rimane sempre delle stesse dimensioni che aveva sulla scheda SD da 8GB, infatti se eseguiamo a terminale il comando
Nell’esempio alla partizione /dev/root sono dedicati 7GB di cui 3,4GB usati e 3,3 GB disponibili. Vediamo quindi come espandere la quantità di spazio usato.
Avviate il vostro Raspberry Pi e connettetevi via SSH e da terminale inserite il comando:
Ottimo! abbiamo recuperato tutto lo spazio disponibile sulla scheda, infatti il comando df mostra una dimensione totale della partizione /dev/root di 29 GB, con una quantità di spazio disponibile di 24GB ed usata di 3,4GB.
Spesso è necessario effettuare operazioni di backup dell’intera scheda SD del nostro Raspberry Pi, per motivi di sicurezza, o causa più ricorrente, per scarsità di spazio disponibile. In questa lezione vedremo vome effettuare l’immagine di una scheda micro SD da 8GB su una di maggiore dimensione da 32GB. Tale operazione vi permetterà di avviare il Raspberry Pi sulla nuova scheda SD da 32GB e ritrovare tutti i dati e i programmi che avevate sulla scheda SD di dimensioni inferiori.
Attenzione! Così facendo però lo spazio usato dalla partizione del/root/ rimane sempre delle stesse dimensioni che aveva sulla scheda SD da 8GB, pertanto vedremo nella prossima lezione come espandere lo spazio sulla nuova scheda di dimensioni maggiori.
Per effettuare questa operazione è possibile usare balenaEtcher
Avviate l’applicazione
Un clic su “Clone driver”. Cloneremo la scheda SD da 7,89GB, su cui è stato installato il sistema operativo, programmi e dati, in quella da 30,9GB
Selezioniamo la scheda da 7,89GB
Selezioniamo ora la destinazione, clic su “Select target”
Selezioniamo la scheda di dimensioni maggiori, fate clic sul “Select”
A questo punto possiamo procedere con la creazione dell’immagine facendo clic su: “Flash!”
Armatevi di pazienza l’operazione richiederà qualche minuto
Terminata l’operazione potrete inserire la scheda da 32GB all’interno del Raspberry Pi e tutto funzionerà regolarmente.
Ora connettendoci via SSH al Raspberry Pi usiamo il comando:
Quindi su una scheda da 32GB lo spazio disponibile risulta di soli 7GB!
E’ possibile recuperare lo spazio non utilizzato?
Certamente sì, come segnalavo ad inizio articolo nella prossima lezione vedremo come fare.
L’installazione di Raspberry Pi OS non richiede necessariamente l’utilizzo di un monitor ed una tastiera esterna. I passi che vedremo in questa breve lezione ci permetteranno l’utilizzo di un computer remoto per configurare il Raspberry Pi. Sarà necessario installare su scheda micro SD il sistema operativo e abilitare il server SSH, in questo modo potremo connetterci in sicurezza al Raspberry Pi da qualsiasi computer remoto.
Installiamo il sistema operativo
Inserite nel vostro computer una micro SD, sicuramente avrete bisogno di un adattatore. Mediante Raspberry Pi Imager selezioniamo la versione di Raspberry Pi OS, nel mio caso: Raspberry Pi OS (other)
Scegliete la versione che vi necessita, nel mio caso ho scelto Raspberry PI OS Lite a 64 bit
Selezionare la scheda SD su cui installare il sistema operativo, nel mio caso l’ultimo volume presente nell’immagine che segue
Fate clic sulla rotella in basso a destra per aprire il pannello di configurazione del sistema operativo.
Inserite il nome dell’host, per default è impostato il nome Raspberry.local, per mia scelta personale in genere modifico il nome, impostando il nome di un corpo celeste (una vecchia abitudini di quando ero un giovane studente 🙂 ).
Abilitiamo inoltre il server SSH, avendo accortezza di selezionare “Usa password di autenticazione”
Impostate il nome utente, in genere io non modifico il nome lasciando quello preimpostato “pi”. Inserite una password a vostra scelta sufficientemente sicura.