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 🙂

Pensieri da Prof. – Per comprendere un argomento, prova ad insegnarlo

L’ultimo mese di scuola vissuto in Laboratorio Territoriale è stato estremamente faticoso ma pieno di soddisfazioni per aver visto nascere oggetti furori dal comune, rispetto e supporto reciproco tra studenti tutti concentrati su progetti di maturità o progetti di fine anno scolastico. Mi sono chiesto come tutto ciò fosse stato possibile e credo di non sbagliare dicendo che il far vivere studenti di età diversa per più ore al giorno che si supportano a vicenda abbia permesso di far comprendere loro il valore dell’insegnamento.

Spesso si tende a raggruppare gli studenti per età e competenze: sedicenni in un gruppo, diciottenni in un altro oppure più semplicemente per classe, invece, in molte accademie di talenti si preferisce un ambiente comune, dove studenti di diverse età si mescolano, permettendo un processo di apprendimento reciproco. Ad esempio, ho osservato una sessione di allenamento di calcio vicino casa mia, che coinvolgeva una grande quantità di ragazzi dai sette ai sedici anni. Ciascun giocatore più esperto era affiancato a uno più giovane per istruirlo sulle tecniche del gioco. Questo tipo di approccio è comune anche in molte rinomate scuole montessoriane, dove classi di diverse età interagiscono, creando opportunità per gli studenti più grandi di insegnare a quelli più giovani.

Senza accorgermene il metodo organizzativo che ho adottato risulta efficace poiché, trasmettere un’abilità a qualcuno, permette di comprenderla a un livello più profondo. Inoltre, l’interazione tra fasce d’età diverse fornisce ai più giovani un esempio tangibile da seguire e sviluppa l’empatia nei più grandi. Sono convinto che quando assisti qualcuno nel superare una difficoltà, migliorano anche le tue capacità di affrontare gli ostacoli e migliori anche le tue capacità relazionali. Pertanto, il detto “Chi non sa, insegna” potrebbe essere rivisitato in “Coloro che sono in grado di insegnare, sanno farlo meglio”.

Buon fine anno scolastico a tutti 🙂

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.

Electronic Prototyping Base Plate – ordine sulla banco di lavoro


L’attività di formazione nel settore delle tecnologie didattiche mi coinvolge parecchio ed ogni volta la parte più complessa del lavoro risiede nell’organizzare la regia degli oggetti che gestisco e mostro online. Realizzare robot, serre, stazioni meteorologiche o comunque automazioni elettroniche richiede ordine, e mantenere una disposizione corretta degli apparati durante una lezione in diretta online richiede, almeno da parte mia, uno sforzo notevole.
Durante la lezione vi sono diverse fasi in cui operando con microcontrollori, micro:bit o Arduino, è necessario sviluppare dei semielaborati che devono mostrare ad esempio l’evoluzione di una stazione meteorologica, con l’aggiunta via via di sensori.
Per ottimizzare il processo di costruzione ho deciso di sperimentare qualcosa che in realtà è stato realizzato da altri, la Prototyping Base Plate di Boris Humberg, io ne ho fatto una versione più grande cambiando alcune misure in modo da adattarla alle mie necessità, con molta fantasia ho voluto chiamarla Electronic Prototyping Base Plate, per poter scaricare i sorgenti per la stampa 3D e il taglio laser seguire il link su Thingiverse.

Si tratta di una basetta di compensato da 4mm di spessore con le dimensioni di un foglio A4 forata. I fori della basetta sono da 3mm distanziati 10 mm l’uno dall’altro. Gli elementi di supporto dei circuiti a forma di L hanno dimensioni tali da poter alloggiare viti M3 e potete utilizzarli in tutti e due i sensi.

Aggiungo tra gli elementi supporti per connettori Wago, contenitore porta oggetti, supporto per mini breadboard e servomotore. Ho aggiunto dei piedini in modo da distanziare le viti dalla base di appoggio.

La basetta è stata realizzata con una macchina a taglio laser, però potreste utilizzare qualsiasi pezzo di compensato e con un piccolo trapano effettuate i fori là dove vi servono, quindi è sufficiente stampare in 3D tutti gli elementi ed utilizzare la base di appoggio.

Spero che questo progetto possa servire anche ad altri.

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 🙂