Archivi tag: micro:bit

BBC micro:bit – controllare due motori DC da 6 V con la scheda motor:bit

Durante i corsi di formazione sulla realizazione di robot didattici che svolgo per i docenti utilizzo anche la scheda motor:bit di Elecfreaks. Di seguito, riprendendo parte della documentazione del wiki del prodotto pubblico l’introduzione alla realizzazione di un EduRobot basato su questa scheda motore. Per i dettagli costruttivi e di programmazione rimando ai miei corsi.

Motor:bit è una scheda di controllo motori utilizzabile con micro:bit. L’integrato il driver utilizzato è il TB6612, in grado di pilotare due motori con una corrente massima erogata per ciascun canale di 1.2A. Sulla scheda sono disposti 16 pin maschi I/O e su ciascuno di essi è presente il pin GND e Vcc, i pin 19 e 20 dedicati alla comunicazione I2C, i pinn 13, 14, 15 per la comunicazione SPI. Sulla scheda i pin I/O da P3 a P7 e da P9 a P10 permettono di pilotare direttamente dispositivi a 3.3V; mentre i pin da P13 a P16 e da P19 a P20 è possibile selezionare la tensione tensione 3.3V/5V mediante uno switch specifico. Sulla scheda è inoltre presente un buzzer passivo.

Caratteristiche

elemento parametro
nome del prodotto motor:bit
tensione di alimentazione 6-9 V DC
numero massimo di motori 2
massima corrente erogabile per ciascun motore 1,2A
numero di pin digitali 12
I2C presente
SPI presente
buzzer passivo presente
dimensione 60mmx47,5mm
peso 20g

Dimensioni

Pinout

Elementi principli della scheda

Connettore motore M1-M2

Ad M1 e M2 è possibile collegare separatamente a un motore DC con una corrente massima di 1.2A.

Buzze passivo

Il buzzer passivo è connesso al pin P0 di micro:bit e con esso, così come accade per il buzzer del micro:bit V2 è possibile riporodurre musica.

Switch di alimentazione

In basso a destra della scheda è presente uno switch che consente di accendere e spegnere la scheda.

Selezione alimentazione: 3,3V / 5 V

La selezione del livello di tensione può essere fatta solo per i pin: P13, P14, P15, P16, P19, P20.

Pin G-VCC-S Standard

4 porte GPIO (P13-P16) e 1 connettore dedicato per la comunicazione I2C (P19-P20). E’ possibile collegare dispositivi a 3.3V/5V in base selezione fatta con lo switch di selezione alimentazione.

Pin G-3V3-S Standard

E’ possibile collegare 8 dispositivi che lavorano con un’alimentazione di 3.3V. Tra questi, P3, P4, P10 possono essere utilizzati come connettori di ingresso per segnali analogici.

Connettore micro:bit

E’ possibile connettere un micro:bit V1 o V2.

Collegamenti elettrici

Programmazione

Dal MakeCode Editor aggiungere l’estensione motorbit:

Scrivere il codice che consente di far ruotare i motori in sequenza per 2 secondi:

programma: motorbit-01

Per ulteriori approfondimenti e sperimentazioni vi rimando ai miei corsi di prossima uscita su portale ScuolaFutura oppure Tecnica della Scuola.

E’ nato un nuovo robot per la primaria: EduRobot Block


L’idea di questa nuova piattaforma basata su inserti Lego Duplo compatibili nasce dall’esperienza maturata da una serie di progettualità passate, la prima si riferisce alla creazione di un LegoDuino , un robot didattico basato su motori e struttura Lego Mindstorms NXT in cui avevo sostituito l’unità centrale Lego con un box costituito da una scheda Arduino e schede motori. La seconda esperienza, DotBot:bit Lego version un piccolo robot controllato da micro:bit e scheda Servo:Lite di Kitronik per gestire i servomotori a rotazione continua e nello stesso modo WalkerBot:bit Lego version, un robot insetto a 4 zampe. Seguendo i link dei robot sopra citati trovate tutti i dettagli anche per la realizzazione delle strutture.
Rendere compatibili i robot con innessti bricks e Technics espande senza dubbio le possibilità creative degli studenti. Aggiungere la possibilità di utilizzare innesti lego Duplo compatibili nasce da alcune osservazioni, la prima è l’esperienza maturata da Claudio Gasparini che per primo ha sviluppato l’idea di un robot basato su Lego Duplo, io ho ripreso l’idea del progetto iniziale e ne ho realizzato una versione personalizzata e replicabile all’infinito mediante stampa 3D.

Ho sperimentato EduRobot Block in attività laboratoriali sviluppate dai colleghi della primaria, su cui ho avuto diversi feedback e richieste di espansione pertanto ho pensato che potesse essere interessante offrire alle scuole gli oggetti per la realizzazione di piccoli robot realizzati stampanto in 3D blocchi Lego Duplo compatibili in cui non sono presenti viti, la cui costruzione avviene innestando ed incastrando oggetti: servomotori a rotazione continua, schede micro:bit, pennarelli per far disegnare al robot.

Su questo robot ho avuto riscontro positivo, al punto che i colleghi desiderano inserirlo nelle dotazioni delle prossime aule innovative dotate di stampanti 3D, pertanto ho deciso di rendere disponibile i sorgenti grafici per la realizzare questa prima versione, in questo modo sarà possibile aggiungere ai più blasonati kit robotici commerciali qualcosa di didatticamente economico, funzionale ed espandibile in funzione della fantasia dei bambini. Sono in fase di progetto di ulteriori ausili didattici per altre tipologie di attività laboratoriali, ne darò notizia più avanti.

Se siete interessati a realizzare la struttura del robot seguite il link su Thingiverse da cui potrete prelevare i file per la stampa 3D.

Questo ed altre strutture robotiche realizzabili a basso costo saranno mostrate e programmate durante i mie prossimi corsi, il primo in partenza tra breve lunedì prossimo a cui potete ancora iscrivervi:

Tecnica della Scuola: Creare un kit robotico educativo a basso costo – 4′ edizione un corso full immersion per colleghi anche non di materie tecniche. Mi concentrerò sull’aspetto progettuale. Per i partecipanti fornirò schede di lavoro e anteprime dei prossimi lavori in progetto.

Per maggiori informazioni sul programma e modalità di iscrizione seguire il LINK.

Con molti dei colleghi che hanno partecipato ai mie corsi ho intrapreso un’attività di ricerca e azione, anche a distanza con cui si sono attivate relazioni di scambio didattico e collaborazine su progetti didattici molto interessanti, ho chiamato questa esperienza TechEd Lab, una sorta di FabLab che si sviluppa sia online che in presenza. Da aprile prossimo il TechEd Lab inizierà le sue attività in presenza, ma per questo fornirò dettagli più avanti.

Buon Making a tutti 🙂

EduRobot Mini Greenhouse crystal

Ho perfezionato in questo inizio d’anno scolastico i percorsi di formazione per i laboratori green che condurrò nei prossimi mesi, oltre alle lezioni in sincrono, aggiungerò video tutorial che mostrano le fasi di costruzione di una mini serra didattica e dettagli di programmazione. Queste attività inoltre andranno a supporto del repository di progetti PCTO che sto realizzando presso l’LTO di Moncalieri.

Recentemente mi sono giunte richiesta per la realizzazione di mini serre da alcuni colleghi amici che operano nella scuola Primaria e Secondaria di primo grado, la necessità è quella di allestire le loro aule innovative con oggetti economici e di facile gestione e soprattutto inclusivi.
E’ nata quindi la “mini Greenhouse crystal”, una mini serre in plexiglass in cui inserire l’elettronica di controllo per realizzare attività STEAM.

La mini serra sarà inserita all’interno di una struttura modulare in cui si potranno aggiungere altri strumenti: cisterne d’acqua, pannelli solari, ecc… .
Se desiderate realizzare una mini serra, così come hanno fatto altre scuole, contattate il Laboratorio Territoriale di Moncalieri dell’ITIS Pininfarina.

Buon Making a tutti 🙂

 

Visualizzare i dati inviati da un micro:bit ad un computer via seriale con un emulatore di terminale

Durante le attività di sperimentazione del mio prossimo corso sui laboratori green mostrerò l’uso di RTC per la rilevazione automatica dei dati provenienti da sensori, sarà quindi necessario leggere i dati ricevuti dal micro:bit ed inviati al micro:bit attraverso un PC via seriale USB. Per leggere le informazioni che transitano sulla seriale è possibile usare qualsiasi emulatore di terminale. Seguendo il link: Outputing serial data from the micro:bit to a computer trovate la documentazione dell’help online di microbit.org che mostra l’utilizzo di alcuni emulatori terminali per i diversi sistemi operativi.

Una modalità estremamente semplice e che vi tornerà utile anche in altre occasioni, è quella che fa uso della Serial Monitor di Arduino, vediamo di seguito come fare questa operazione.

Configurazione

Passo 1
Qualche tempo fa avevo indicato come usare l’IDE di Arduino per programmare micro:bit, seguite la procedura indicata nel link

Passo 2
Impostare la scheda

Passo 3
Impostare la porta a cui è connesso il micro:bit

Passo 4
Aprire uno sketch vuoto e fare click sull’icona Monitor Seriale

Passo 5
Impostate la velocità di comunicazione a 115200 baud

Il risultato che vedete nell’immagine è quello che deriva dalla realizzazione di un programma scritto in Blocks con l’IDE grafico di micro:bit in cui viene inviato ogni minuto sulla seriale:

  • la data della misurazione
  • l’ora della misurazione
  • la temperatura rilevata dal sensore di temperatura del micro:bit e la temperatura rilevata dal sensore disposto sull’RTC DS3231.

Ovviamente questi dati potranno essere inviati ad altri dispositivi con modalità di trasmissione diverse, tutto questo sarà approfondito durante il corso.

Buon Making a tutti 🙂

Laboratori Green – Real Time Clock – DS3231

Durante il corso “Laboratori Green” in partenza il prossimo 7 dicembre, tra le varie attività che svolgerò in presenza online, mostrerò anche come gestire eventi che dovranno essere attivati ad una data ed ora specifici in quanto si avrà l’esigenza di realizzare un sistema autonomo che non faccia uso di un computer esterno per registrare i dati (temperatura, umidita, pressione, ecc…). L’elemento fondamentale della nostra automazione sarà un piccolo modulo di clock (orologio) in tempo reale (RTC) che ci consentirà di stabilire i tempi precisi in cui effettuare una specifica misurazione: una volta all’ora, una volta al giorno, alla settimana, ecc…

II modulo RTC è costituita da un piccola scheda elettronica economica su cui è inclusa una batteria ricaricabile che ci permetterà di non dover reimpostare l’ora sul microbit se viene sconnesso dall’alimentazione, quella che impiegheremo noi è la scheda HW-84 su cui è collocato l’RTC DS3231.

Commercialmente esistono diverse tipologie di RTC, il il DS3231 e tra quelli più adatti per essere usati con un micro:bit in quanto è progettato per funzionare con dispositivi a 3V pertanto potrà essere alimentato direttamente dal microcontrollore.
Durante il corso vedremo l’utilizzo di questo tipo di RTC anche mediante scheda Arduino.

Il DS3231 ha anche altre funzionalità che lo rendono molto interessante e che andremo ad utilizzare

  • possiede 2 allarmi
  • ha un sensore di temperatura con accuratezza di +/- 3C

Esistono diverse ragioni per cui è utile utilizzare Real Time Clock (orologio) all’interno del vostro sistema di automazione realizzato con qualsiasi microcontrollore, micro:bit, Arduino, o altro:

  • Se state registrando costantemente delle misurazioni (registrazione dei dati) è siuramente necessario registrare il tempo in cui la misurazione viene effettuata, la misurazione del tempo in cui avviene la misurazione prende il nome di timestamp.
  • Se state automatizzando eventi, come ad esempio l’accensione della luce ad una determinata ora, l’irrigazione della vostra serra, la rilevazione di umidità e temperatura della serra, l’accensione del riscaldamento, ecc…

Connessione dell’HW-84 al micro:bit

Il micro:bit comunica con il modulo RTC usando il protocollo di comunicazione I2C (inter-integrated circuit). Questo tipo di comunicazione utilizza 2 fili (SDA e SCL) e due file per l’alimentazione (Vcc e GND). Bisogna effettuare il seguente collegamento:

RTC ------ micro:bit
GND ------ GND
Vcc ------ 3V su micro:bit
SDA ------ SDA (pin 20)
SCL ------ SCL (pin 19)

Il pin SQW sull’HW-84 viene utilizzato per comunicare al micro:bit quando è stato attivato un allarme. Ciò può essere fatto collegando SQW al pin P0 del micro:bit

All’interno di MakeCode esiste un set di istruzioni per l’RTC DS3231. In MakeCode, fare clic “Extensions”. Nel campo di ricerca inserire DS3231, clic sull’icona per includere nell’ambiente di sviluppo il set di istruzioni.

Realizzare il programma indicato nell’immagine che segue. All’interno dell’istruzione “on start” sarà inserita un’icona che all’avvio del micro:bit darà percezione che il sistema è stato avviato. Nell’istruzione “forever” verrà impostata la struttura dell’output del testo mediante istruzioni di join del testo. La stampa delle stringhe del giorno e dell’ora avverrà mediante l’uso di istruzioni “serial write”. L’impostazione dell’ora iniziale sarà effettuta mediante l’istruzione specifica di inizializzazione dell’RTC in cui si dovranno inserire anno, mese, giorno, ora, minuto, secondo, il tutto inserito in un’istruzione “on button A pressed” che consentirà fisicamente di inizializzare l’RTC alla pressione del pulsante A del micro:bit. Per avere percerzione che l’impostazione è andata a buon fine verrà mostrata un’icona sul display del micro:bit mediante l’istruzione “show icon”.

Durante il corso aggiungerò a quanta sopra spiegato ulteriori indicazioni per realizzare un data logger di temperatura, ovvero un sistema in grado di registrare il valore della temperatura misurata in momenti specifici per poi mostrare su grafico la serie dei dati registrati.

Si svilupperanno anche altre attività come ad esempio:

  • realizzazione di allarmi, in generale attivazione di eventi in momenti programmati
  • registrazione dei dati su file all’interno del micro:bit
  • utilizzo di un sistema di registrazione dati su schede di memoria micro SD
  • … e molto altro

Vi aspetto al mio corso.
Buon Making a tutti 🙂