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:
Stampa su display della temperatura e dell’umidità rilevata:
Stampa su Serial Monitor della temperatura rilevata:
Stampa sulla serial monitor temperatura ed umidità rilevata:
Buon Making a tutti 🙂