DHT22 AM2302 Sensore Temperatura Umidità

Il sensore di temperatura e umidità DHT22-AM2302 utilizza al suo interno un sensore di umidità capacitivo e un termistore per misurare l’aria circostante, e comunica le sue misurazioni tramite un segnale digitale sul pin dei dati. E’ simile al modello DTH11, ma fornisce misurazioni più accurate.

DHT22 AM2302 Sensore Temperatura Umidità

Caratteristiche

Il sensore di temperatura e umidità DHT22-AM2302,  è piuttosto semplice da utilizzare, ma richiede un attenta sincronizzazione per intercettare a dovere i dati.  Un suo lato negativo può essere che potete avere nuovi dati solo ogni 2 secondi, in altri termini, ogni volta che leggete dei dati, questi potrebbero essere vecchi di 2 secondi.
D’altro canto, il DHT22, versione più costosa del DTH11 presenta specifiche migliori, come potete vedere dalla tabella sottostante.

DHT11DHT22
Range temperatura0÷50°C / ± 2°C - 40÷125 °C / ± 0,5°C
Range umidità20÷40% / ± 5% 0÷100% / ±2,5%
Campionamento1 Hz (una lettura al secondo)0,5 Hz (una lettura ogni 2 secondi)
Dimensioni15x12x5,5 mm15.1x25x7.7 mm
Range alimentazione3-5V3-5V
Max assorbimento2,5 mA2,5 mA

Come funziona il sensore

Il componente di rilevamento dell’umidità è formato da due elettrodi con un substrato che trattiene l’umidità (un polimero di plastica conduttivo o di sale) tra loro. Gli ioni vengono rilasciati dal substrato quando il vapore acqueo viene assorbito da esso, il che a sua volta aumenta la conduttività tra gli elettrodi. La variazione di resistenza tra i due elettrodi è proporzionale all’umidità relativa. Una maggiore umidità relativa diminuisce la resistenza tra gli elettrodi, mentre una minore umidità relativa aumenta la resistenza tra gli elettrodi.
Sebbene si utilizzi una singola linea per inviare i dati, il formato non è compatibile con Dallas One Wire! Infatti, se avete bisogno di più sensori DHT22, ognuno deve avere il proprio pin dati riservato sul microcontrollore. Per utilizzarlo potete scaricare la libreria scritta da Adafruit e seguite il tutorial.

DHT22 AM2302 Sensore Temperatura Umidità

La temperatura viene invece misurata tramite un termistore NTC, il termistore è un resistore termico, un resistore che cambia la sua resistenza con la temperatura. Tecnicamente, tutti i resistori sono termistori – la loro resistenza cambia leggermente con la temperatura – ma la variazione è solitamente molto piccola e difficile da misurare.
I termistori invece sono realizzati in modo che la resistenza cambi drasticamente con la temperatura in modo che possa essere di 100 ohm o più di variazione per grado.
Il termine “NTC” significa “coefficiente di temperatura negativo”, il che significa che la resistenza diminuisce con l’aumentare della temperatura.

Dove trovare il sensore

Il Modulo Sensore di Temperatura e Umidità DHT22  potrà essere acquistato presso il sito Homotix, il suo costo, al momento dell’uscita dell’articolo è di 5,82 €. Ricordo che inserendo il codice di sconto dedicato agli utenti del sito adrirobot avranno uno sconto del 3%.

Come si presenta il sensore

Il sensore è formato da un contenitore plastico di colore bianco su cui è presente una griglia. Dal corpo fuoriescono  4 pin, spaziati di 2,54mm.

  • pin 1 VCC,
  • pin 2 DATA
  • pin 3  NC
  • pin 4 GND

Versioni del modulo

Per un più semplice utilizzo, magari su una breadboard, il sensore viene montati su un piccolo PCB. Il modulo è prodotto da varie aziende e può essere trovato in varie forme. Sotto alcune foto

Schema elettrico del modulo

Lo schema elettrico del modulo compreso di PCB, è stato realizzato con il programma EasyEDA e può essere scaricato a questo link Per informazioni sul programma EasyEDA,  leggete questo articolo.

Come abbiamo visto il sensore dispone di 4 pin anche se solo tre sono collegati internamente.

  • Il pin 1 VCC, è quello di alimentazione può essere collegato ad una fonte compresa tra  3-5V.
  • Il pin 2 DATA fornisce l’input dei dati del vostro microcontrollore
  • Il pin 3  NC, on  è collegato
  • Il pin 4 GND è da connettere alla massa

Fanno poi parte del circuito una resistenza da 4,7k-10k, con funzione di pull up dal pin dati verso VCC. e un condensatore da 100 nF per livellare la tensione di alimentazione.

Libreria di gestione

Per facilitare l’uso del sensore è indispensabile utilizzare una libreria specifica, in questo caso utilizzeremo la libreria DHT di Adafruit, che è valida si per il modello DTH22 sia per il modello DHT11.
Per installarla , è sufficiente andare in Sketch > #include libreria > Gestione libreria , quindi inserite nel campo di ricerca “DHT” e selezionate la libreria fornita da  Adafruit.  Adesso nella versione 1.4.2
Vedete anche l’articolo Arduino – Tutorial, come installare una libreria

Link libreria

Test base del sensore

Per testare semplicemente il sensore, basterà montare il circuito riportato sotto, per fare questo occorrono:

 

Una volta caricato lo sketch, attivando il monitor seriale, se non avete commesso errori, vi appariranno i dati misurati.  Ricordarsi di non scendere come tempo di campionamento sotto i due secondi.

Visualizzazione dati su display

Nello sketch precedente la lettura era effettuata tramite il monitor seriale. In questo caso i dati saranno mostrati su un display OLED montato sul Multi test shield, vedere articolo Multi test shield per moduli e sensori compatibile Arduino
Sullo shield per testare i sensori Arduino sono disponibili molti connettori che risultano già opportunamente collegati con le porte digitali o analogiche di Arduino.

Sotto è riportato lo schema equivalente dei collegamenti

 

DHT22 AM2302 Sensore Temperatura Umidità

In realtà tutti sarà limitato a montare il display e i sensore

DHT22 AM2302 Sensore Temperatura Umidità

DHT22 AM2302 Sensore Temperatura Umidità

Una volta caricato lo sketch, dopo un messaggio iniziale, saranno mostrati i valori letti dal sensore

Filmato dimostrativo

Altre tipologie di sensori di temperatura

Per altre tipologie di sensore vedere l’articolo Panoramica sensori di temperatura e umidità

sensori umidità temperatura