DHT22 (am2302) : Sensore di umidità e temperatura

Il sensore DHT22, chiamato anche AM2303, permette di rilevare l’umidità relativa  e la temperatura di un ambiente e di trasmetterla digitalmente attraverso un solo filo (oltre ai 2 necessari all’alimentazione) ad un microcontrollore

Descrizione:
Il sensore di umidità è di tipo capacitivo, utilizza al massimo 2.5mA in fase di  e permette di acquisire al massimo un campione ogni 2 secondi.
La misurazione dell’umidità varia da 0 a 100% con un’accuratezza tipica pari al ±2%.
Per quanto riguarda la temperatura invece il DHT22 ha un range di misurazione tra -40 e +80°C con un accuratezza di ±0.5°C grazie al sensore DS18B20 integrato al suo interno.

Alimentazione e Pinout:
L’alimentazione può variare da 3.3 a 6Vquindi può essere usato sia con microcontrollori che lavorano a 5v sia con quelli a 3.3v.

Il sensore ha 4 piedini, ma solo 3 sono usati

NodeMcu + dht22 am2302 (3)
VCC e GND servono rispettivamente per portare l’alimentazione al sensore, mentre il pin DATA serve per la comunicazione bidirezionale tra sensore e processore.
Una nota molto interessante è che il filo DATA che collega il sensore alla MCU (microcontrollore) può essere lungo fino a 20 metri. (si riduce a 1m se alimentato a 3.3V)

Il DHT22 non necessita di ulteriore componentistica esterna però, specialmente se si utilizzano fili lunghi, potrebbe essere consigliato l’utilizzo di un condensatore da 100nF tra i pin VCC e GND in prossimità del sensore per filtrare eventuali disturbi all’alimentazione.

In alcuni schemi è presente una resistenza detta “di Pull-up” connessa tra la VCC e il pin DATA. Questo per tenere alto lo stato del canale quando non è in corso una trasmissione dati. Il valore della resistenza tipicamente è di 4.7-5.1KΩ a seconda dell’applicazione.

Peso e Dimensioni
Il peso è di 2.4g e le dimensioni dichiarate dal costrutture sono di 15 x 25 x 7 mmdht22 am2302 dimensioni

 

Applicazioni:
l’AM2302 è molto versatile, infatti può essere impiegato ad esempio in sistemi di deumidificazione, automotive, domotica, monitoraggio ambientale e molti altri ambiti in cui è necessario un controllo elettronico di temperatura e umidità.

Comunicazione
La comunicazione, come precedentemente accennato avviene attraverso un solo filo ed è bidirezionale.

I dati di umidità e temperatura sono formati da 16bit ciascuno, quindi 32 bit di informazione.

Es:
Umidità = 65.8%RH che in binario diventa 0000001010010010
Temperatura= 26.9%RH che in binario diventa 0000000100001101

La trasmissione avviene a gruppi di 8 bit, quindi ci saranno 4 gruppi di 8 bit

Es:
Umidità = 00000010  10010010
Temperatura =  00000001  00001101

Vengono aggiunti ulteriori 8 bit per verificare che la trasmissione sia avvenuta correttamente. Questo numero viene calcolato sommando i 4 blocchi:

Es:
Verifica = 00000010  + 10010010 + 00000001  + 00001101 = 10100010

Quindi in totale avremo 5 blocchi da 8 bit, ovvero dovremo trasmettere un messaggio lungo 40 bit.

Per prima cosa è il processore che inizia una comunicazione con il sensore DHT22.

  • Sincronizzazione:
    Processore porta a 0 lo stato del bus DATA per 800μs che significa “sensore, preparami i dati”
    Il sensore di risposta porta lo stato del bus a 0 per 80μs per dire “inizio trasmissione”

Poi il sensore inizia a trasmettere i dati di temperatura e umidità:

  • Blocco 1:
    primi 8 bit riguardanti l’umidità,  Es. 00000010
  • Blocco 2:
    gli ultimi 8 bit riguardanti l’umidità Es. 10010010
  • Blocco 3:
    primi 8 bit riguardanti la temperatura Es. 00000001
  • Blocco 4:
    ultimi 8 bit riguardanti la temperatura Es. 00001101
  • Blocco 5:
    8bit di checksum/verifica  Es. 10100010

Dal lato del microcontrollore si dovrà sviluppare una appropriata libreria o si potrà utilizzare delle librerie già pronte disponibili sul web.
Un esempio di utilizzo del DHT22 con il NodeMcu è disponibile qui: http://ciaobit.com/mcu/esp8266/nodemcu-esp8266-e-dht22-am2302-sensore-di-temperatura-e-umidita-wifi-con-server-web/

Riguardo Matteo Dalle Feste

Web Designer e Developer presso una nota testata giornalistica sul turismo. Appassionato di domotica, nel tempo libero, cura la realizzazione sia hardware che software di piccoli progetti domotici fai da te.

Guarda anche

hc-sr04 sensore distanza ultrasuoni

HC-SR04 – Sensore ad ultrasuoni per misurare una distanza

Ecco l’HC-SR04, un sensore che permette di misurare la distanza di un ostacolo attraverso gli …

Un commento

  1. Sono alle prime armi.
    Molto istruttivo!
    Sto lavorando alla costruzione di una incubatrice per uova di galline, oche e quaglie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *