Ciao Ciao Box – Realizzare un robot a basso costo

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.

Buon Coding a tutti 🙂

Raspberry Pi – Aumentare lo spazio di archiviazione su una scheda SD

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

df -h

otteniamo il seguente risultato:

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:

sudo raspi-config

Dal menù selezionate il punto 6: Advanced Options e successivamente A1: Expand Filesystem

Selezionate Select e premete invio

Vi verrà segnalato che la partizione Root è stata ridimensionata

Selezionare: Ok

Vi verrà richiesto se riavviare, confermate selezionando “Si”

Dopo il reboot connettetevi nuovamente al vostro Raspberry ed inserite nuovamente il comando:

df -h

Il risultato sarà il seguente

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.

Buona sperimentazione a tutti 🙂

Raspberry Pi – creare l’immagine della scheda micro SD

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:

df -h

che ci fornirà il seguente risultato:

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.

Buono studio 🙂

 

Installare Raspberry Pi OS senza monitor e tastiera – abilitare il server SSH

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.

Continua a leggere

BBC micro:bit – Quale firmware?

Come segnalato recentemente sul gruppo BBC micro:bit Italy per chi possiede micro:bit V2 ricordo che esistono due versioni di firmware per questa scheda. Le versioni possono essere rilevate sulla scheda come da immagine allegata. I due firmware sono differenti perché a causa dei noti problemi di approvigionamento dei componenti elettronici a livello globale, sono due le tipologie di chip che sono stati utilizzati negli scorsi mesi sulla scheda che gestiscono la comunicazione USB, pertanto sono due le versioni di firmware. Quindi nel caso in futuro desiderate aggiornare ad un nuovo firmware verificate il numero della versione che si può installare sulla vostra scheda. A livello di utilizzo e di funzionalità delle vostre applicazioni non cambia nulla. Il numero non indica un livello di performance, ma solo il tipo di firmware che si può installare.

Vi allego il link con tutti i riferimenti per approfondire: