Archivi tag: coding

BBC micro:bit – estensione Audio Recording

Aggiunto recentemente nel Blocks Editor di BBC miro:bit la nuova estensione: “Audio recording” che vi permetterà di registrare e riprodurre un audio creato da voi. Per effettuare l’installazione dell’estensione procedere come di consueto facendo clic sul pulsante “+Extensions” del Blocks Editor e selezionando successivamente il blocco: “audio-recording”:

L’estensione di registrazione audio vi permetterà di registrare e riprodurre audio con il micro:bit utilizzando il microfono e l’altoparlante interno della scheda. Se al vostro micro:bit è connesso un microfono esterno potrete utilizzarlo per registrare un breve audio e poi riprodurlo sull’altoparlante interno oppure attraverso un pin di uscita audio connesso ad un altoparlante esterno. L’audio che registrare viene conservato in un buffer audio e può essere riprodotto successivamente o sovrascritto con un nuovo audio.

Il semplice programma di seguito vi permette di:

  • premere il pulsante A per registrare
  • premere il pulsante B per riascoltare la registrazione

Per aprire e modificare il programma seguire il link.

La qualità audio di registrazione e riproduzione non è elevata, può essere leggermente migliorata variando il sample rate in registrazione e riproduzione, ma in ogni caso il tutto è, secondo me, più che sufficiente per realizzare semplici sperimentazioni didattiche.

Registrazione e riproduzione attraverso microfono ed altoparlante del micro:bit:

Registrazione attraverso microfono del micro:bit e riproduzione attraverso casse amplificate esterne:

Buon Coding a tutti 🙂

Iniziare con Arduino UNO R4 WiFi

Per utilizzare Arduino UNO R4 WiFi è indispensabile prima di procedere con la programmazione, installare il pacchetto software per la gestione della scheda che fa parte del core Arduino Uno R4. Per l’installazione del del pacchetto software è necessario utilizzare l’Arduino IDE.

Il breve tutorial è tratto dal reference ufficiale di Arduino.cc a cui ho apportato alcune modifiche. L’installazione è stata eseguita utilizzando l’IDE 2.1.1.

Non dettaglierò la modalità di installazione dell’IDE che demando al tutorial ufficiale che potete leggere sul sito Arduino, vedremo in questo primo tutorial l’installazione del pacchetto software che consente l’utilizzo della scheda.

Installazione pacchetto software della scheda

Per l’installazione aprire il “Board Manager” dal menù di sinistra, nel campo di ricerca inserire UNO R4 ed installare l’ultima versione (o la versione che volete usare).



Collegate tramite il connettore USB C la scheda al computer e dall’IDE, dal menù a discesa come indicato dall’immagine selezionate la scheda Arduino UNO R4 WiFi.

Non appena avrete selezionato la scheda Arduino UNO R4 WiFi, dal menù File > Examples potrete selezionare una serie di esempi che non richiedono l’installazione di librerie esterne:

Dovreste aver notato che all’avvio che sull’Arduino UNO R4 WiFi verrà eseguito il programma Tetris la cui animazione termina con la visualizzazione di un cuore, se desiderate prelevare lo sketch seguite il link.

Se siete arrivati a questo punto siete pronti per iniziare le vostre sperimentazioni.

Per salutarci vi lascio in allegato lo sketch in cui viene mostrata sulla matrice di LED una faccina che ride che fa l’occhiolino, nella prossime lezione ve ne spiegherò il funzionamento e vedremo come sfruttare al meglio questa nuova caratteristica di Arduino UNO R4.

#include "Arduino_LED_Matrix.h"
#include <stdint.h>

ArduinoLEDMatrix matrix;

const uint32_t sorriso[] = {
  0x19819,
  0x80000000,
  0x2041f8,
};

const uint32_t sorriso_occhilino[] = {
  0x19818,
  0x0,
  0x2041f8,
};

void setup() {
  Serial.begin(115200);
  matrix.begin();
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  matrix.loadFrame(sorriso);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(500);

  matrix.loadFrame(sorriso_occhilino);
  digitalWrite(LED_BUILTIN, LOW);
  delay(500);
}

Buon Making a tutti 🙂

Costruiamo EduRobot Black Panther – kit robotico didattico multipiattaforma

Un robot che costa meno di un libro.

Al fine di supportare i colleghi che seguono i miei corsi, ho realizzato una struttura robotica che deriva da un precedente progetto che ho sviluppato per i miei studenti, si tratta della versione n. 6 del kit robotico che ho chiamato EduRobot, nominata “Black Panther”.

Ho pensato ad una struttura estremamente economica in cui, ad esclusione delle viti di serraggio delle varie parti, il resto dei materiali è costituito da schede di controllo, motori e sensori.

La struttura minima richiede almeno 3 livelli, ma è possibile innalzarla per aggiungere tutta l’elettronica necessaria per espandere le funzionalità del robot.

Tutti gli elementi sono stati stampati in 3D ed il materiale scelto è il PLA.

I costi complessivi di stampa, viti di serraggio e dadi, non supera i 10€.

Per prelevare i sorgenti per la stampa 3D seguire il link sulla mia pagina su Thingiverse.

Le funzioni che possono essere programmate sono le medesime dei più blasonati kit robotici in commercio, pertanto se la vostra scuola ha acquistato una stampante 3D, sarà sufficiente una manciata di elettronica a basso costo per realizzerete robot assolutamente inclusivo, sia per il portafoglio delle famiglie degli allievi che di quelle del docente.

Il cilindro di occupazione del robot ha un diametro di 135 mm e i motori sono esattamente centrati rispetto alla base del cilindro.

Per evitare spese aggiuntive al posto delle caster ball ho preferito utilizzare un elemento dotato di superficie curva, ovviamente tale elemento se lo desidera può essere sostituito da una caster ball metallica.

Sul terzo livello del robot sono stati già inseriti fori per fissare i microcontrollori: Arduino UNO R3 e BBC micro:bit e computer Raspberry Pi 3 o 4.

Sempre sul terzo livello nel caso si desidera utilizzare un BBC micro:bit, è possibile fissare una scheda motorbit.

Nel caso il controllo avvenisse con Arduino UNO R3 la scheda di controllo motori è costituita da un L298N che andrà impilato sulla scheda Arduino, secondo quanto indicato nel tutorial che segue.

Nei kit di base sul 3’ livello viene utilizzata una minibreadboard per facilitare la connessione tra i vari dispositivi elettronici.

Per entrambe le versioni il robot è dotato di un sensore ad ultrasuoni HC-SR04 fissato alla struttura. Per la valutazione della distanza dell’ostacolo si è preferito evitare l’utilizzo di un servomotore che facesse ruotare il sensore ad ultrasuoni al fine di ridurre i costi. La rotazione che valuta la distanza dell’ostacolo più vicino verrà svolta ruotando l’intero robot rispetto al suo baricentro.

Il robot è dotato di due sensori ad infrarossi da impiegare per la realizzazione di un robot segui linea.

Nella versione con scheda Arduino UNO R3 sarà possibile effettuare un controllo mediante scheda Bluetooth HC-05, il cui supporto potrà essere fissato sul terzo piano del robot.

Di seguito la lista dei materiali e le relative fotografie che ne dettagliano la costruzione delle parti meccaniche e delle schede, non viene dettagliata la connessione elettrica tra le parti e la programmazione, per ora riservato ai colleghi che frequentano o frequenteranno i miei corsi, ma molto probabilmente nel prossimo futuro, con un po’ di calma lavorativa estenderò a tutti la parte di spiegazione elettronica e programmazione.

Sto sviluppando corsi in cui mostro come, usando la medesima struttura robotica, sarà possibile controllare il robot mediante un Raspberry Pi oppure un Raspberry Pi Pico.

Per i colleghi insegnanti svolgerò nel prossimo futuro ulteriori corsi gratuiti a cui potrete iscrivervi attraverso la piattaforma ScuolaFutura, corsi che saranno svolti i diverse modalità: in presenza, MOOC e blended.

Per essere aggiornati sui progetti e sui corsi che svolgerò nel prossimo futuro vi invito ad iscrivervi al mio sito inserendo la vostra e-mail nel campo: “Iscriviti al blog tramite email” nella colonna destra in alto, in questo modo potrete essere aggiornati tempestivamente.

La sequenza di montaggio indicata di seguito è quella che secondo il mio parere vi consente di montare l’intera struttura in non più di 60 minuti, è essenziale però munirsi di cacciaviti a stella e pinza a becco lungo, ottimo sarebbe utilizzare un piccolo avvitatore.

In generale non è richiesta nessuna saldatura a stagno in quanto i motori (gialli) a 6V utilizzati possono essere acquistati anche con cavi già saldati, attenzione però che la connessione tra motore e cavi elettrici potrebbe essere delicata, pertanto si consiglia di serrare i cavi mediante una fascetta stringicavi, come dettagliato di seguito.

Se è necessario prolungare la lunghezza dei cavi è possibile adottare diversi metodi, quello che preferisco è l’utilizzo di connettori wago che possono essere acquistati con diverso numero di fori, nel caso di questo kit robot sono sufficienti wago da 3 fori.

Ovviamente, nel caso di rotture o disconnessione dei cavi dai poli del robot bisognerà per forza ricorrere alla saldatura a stagno. 

La fotografia che segue mostra tutti gli elementi da stampare in 3D per le due versioni di robot.

Di seguito elenco materiali e sequenza di montaggio.

Continua a leggere

BBC micro:bit – usare un sensore DHT 22

Durante il mio ultimo corso sulla realizzazione di mini serre indoor, ho fornito ai corsisti le competenze di base per usare una serie di sensori controllati dal micro:bit. Alcuni colleghi possedevano kit generici di componentistica elettronica tra cui sensori non disposti PCB board, pertanto per alcuni non erano presenti quei componenti che permettevano l’interfacciamento al microcontrollore. È il caso ad esempio del DHT22 sensore di temperatura è umidità relativa che ha una modalità di utilizzo molto simile al più noto ed economico DHT11.

Le caratteristiche tecniche dei due sensori sono indicate di seguito:

DHT11 DHT22
Intervallo di temperatura 0 to 50 ºC +/-2 ºC -40 to 80 ºC +/-0.5ºC
Intervallo di umidità 20 to 90% +/-5% 0 to 100% +/-2%
Risoluzione Umidità: 1%
Temperatura: 1ºC
Umidità: 0.1%
Temperatura: 0.1ºC
Tensione di funzionamento 3 – 5.5 V DC 3 – 6 V DC
Corrente di funzionamento 0.5 – 2.5 mA 1 – 1.5 mA
Periodo di campionamento 1 secondo 2 secondo

Il sensore DHT22 può essere acquistato nelle due modalità: su PCB board oppure in modalità solo componente come indicato nell’immagine che segue:

Il DHT22 per poter funzionare necessità di un resistore di pull-up che nella versione PCB è già presente. Nel caso si dispone del solo sensore è necessario aggiungere un resistore tra i 5k ohm e i 10k ohm connesso come nell’immagine che segue:

La modalità di utilizzo del sensore con il micro:bit è estremamente semplice e richiede solamente l’installazione di un’estensione che potrete cercare facendo clic su “Extensions” ed inserendo nel campo di ricerca dht22. L’estensione sarà DHT11_DHT22 in grado di gestire sia il DHT11 che il DHT22.

Seguire il link per consultare la pagina di riferimento dell’estensione utilizzata.

Come potrete leggere l’istruzione di configurazione riportata nell’immagine che segue è costituita da una serie di campi:

  • Query: permette la selezione del tipo di sensore, DHT11 o DHT22
  • Data pin: è il pin del micro:bit a cui dovremo connettere il pin data del DHT22
  • Pin pull-up: indica se presente il resistore di pull-up nel nostro caso dovrà essere impostato a true. Nel caso fosse impostato a false verrà utilizzato il resistore di pull-up interno del micro:bit che è di circa 13 K ohm.
  • Serial output: stabilisce se si vuole un output sulla serial monitor, false non mostra i dati, true li mostra
  • Wait 2 sec after query: se impostato su true consente di fissare l’intervallo tra due interrogazioni al sensore a 2 secondi, lasciare questa impostazione. È importante non ridurre questo intervallo altrimenti il sensore non riuscirà a fornirci la misura.

Durante la comunicazione tra sensore e micro:bit viene effettuato un controllo di eventuali errori di comunicazione, se ciò accade leggerete in output il codice di errore -999 se l’errore persiste per più secondo molto probabilmente il problema è di carattere elettivo, nella maggior parte dei casi una connessione mancante o errata connessione elettrica tra i dispositivi.

Aggiungo alcuni programmi che mostrano il funzionamento del DHT22.

Stampa su display della temperatura rilevata:

Link al programma.

Stampa su display della temperatura e dell’umidità rilevata:

Link al programma.

Stampa su Serial Monitor della temperatura rilevata:

Link al programma.

Stampa sulla serial monitor temperatura ed umidità rilevata:

Link al programma.

Buon Making a tutti 🙂

Tecnologie digitali per l’apprendimento attivo: robotica e analisi dati

Da più parti mi viene richiesto di realizzare corsi inerenti la robotica e per differenziare le azioni formative già proposte in passato questa volta, per il Polo Formativo dell’IIS “G.B. Odierna” realizzerò un percorso in cui mostrerò come realizzare robot che rilevano dati ambientali e li pubblicano online e in funzione dei dati rilevati il robot assumerà comportamenti diversi.

Quindi l’obiettivo sarà condurre un corso full immersion di 10 ore per realizzare un assistente robotico che ci aiuterà nella raccolta dati e nella rappresentazione grafica. Ovviamente partecipando al corso potrete ricevere tutte le schede di lavoro da utilizzare con i vostri studenti.

Come accaduto già in passato la mia disponibilità va oltre il corso e come già accaduto sono disponibile, al costo di una cartolina 🙂 nel partecipare remotamente con voi alle attività didattiche che realizzerete per i vostri studenti nei prossimi mesi.

Se ricordate tempo fa avevo mostrato sul mio sito il “Ciao Ciao Robot” un cubo in grado di rispondere ad eventi remoti, seguendo il link trovate la scheda di lavoro che permette di realizzare il dispositivo.

“Ciao Ciao Robot” si è evoluto e su di esso sono stati aggiunti altri dispositivi che lo rendono più interessante dal punti di vista didattico, pertanto se volete saperne di più vi invito ad iscrivervi al corso:

Tecnologie digitali per l’apprendimento attivo: robotica e analisi dati

A cui potrete iscrivervi gratuitamente dal portale ScuolaFutura.

Per trovare il corso sul portale ScuolaFutura inserite nel caso di ricerca l’ID:

125314

L’azione formativa, sviluppato mediante una metodologia laboratoriale, è diviso in due parti:

  • nella prima parte verranno fornite competenze digitali finalizzate alla realizzazione di robot didattici a bassissimo costo permettendo al docente si strutturare un percorso di base per avvicinare gli studenti ai principi della programmazione e della robotica;
  • nella seconda parte, gli insegnanti apprenderanno le tecniche di per rilevare dati ambientali, rilevati da sensori gestiti da robot didattici, per rappresentarli poi graficamente.

Il corso è indirizzato a docenti di qualsiasi disciplina, pertanto nell’ambito del programma proposto verranno fornite progetti adatti al livello di insegnamento. Saranno fornite le competenze di base per la gestione della tecnologia per la realizzazione dei robot e l’analisi dei dati ambientali necessarie per affrontare i singoli progetti. Come sempre l’aspetto elettronico/informatico sarà reso semplice in modo che possa essere affrontato anche da insegnanti non tecnici. Ove richiesto saranno fornite schede di approfondimento.

Il corso è destinato a:

  • Docenti scuola primaria e secondaria di 1° ciclo
  • Personale Educativo

Vi aspetto al mio corso 🙂