Il sensore DHT11 è un sensore di temperatura e umidità con uscita dei dati in formato digitale di facile gestione con la scheda Arduino e simili. Vedere anche DHT22 AM2302 Sensore Temperatura Umidità
Il sensore utilizza una tecnica digitale esclusiva che unita alla tecnologia di rilevamento dell’umidità, ne garantisce l’affidabilità e la stabilità.
I suoi elementi sensibili sono connessi con un processore 8-bit single-chip.
Ogni sensore di questo modello è compensato in temperatura e calibrato in un’apposita camera di calibrazione che determina in modo preciso il valore di calibrazione il cui coefficiente viene salvato all’interno della memoria OTP.
Le sue piccole dimensioni e suo basso consumo unite alla lunga distanza di trasmissione (20 m) permettono al sensore DHT11 di essere adatto per molti tipi di applicazioni. Il package con quattro pin in linea ne rendono facile la connessione.
Caratteristica & applicazione:
- Gamma completa di temperatura compensata
- Umidità relativa e temperatura
- Segnale digitale calibrato
- Eccezionale stabilità a lungo termine
- Componenti aggiuntivi non necessari
- Distanza di trasmissione lunga
- Basso assorbimento
- Contenitore con 4 pin
Indice
Caratteristiche sensore DHT11 per Arduino
Modello | DHT11 |
Alimentazione | 3-5.5V DC |
Segnale di uscita | digitale del segnale tramite single-bus |
Elemento sensibile | Resistenza in Polimero |
Campo di misura umidità | 20-90% di umidità relativa, temperatura di 0-50 gradi Celsius |
Precisione | umidità + -4% RH (Max + -5% di umidità relativa) temperatura +-2.0 Celsius |
Risoluzione o la sensibilità | umidità 1% di umidità relativa, temperatura 0.1 Celsius |
Ripetibilità umidità | + -1% di umidità relativa temperatura +-1Celsius |
Umidità isteresi | + -1% RH |
Stabilità a lungo termine | + -0.5% UR / anno |
Tempo di rilevazione | medio: 2s |
Dimensioni | 12 * 15,5 * 5,5 millimetri |
Immagini tratte dahttp://www.radiolocman.com/shem/schematics.html?di=112850
Frontale | Laterale | Posteriore |
![]() | ![]() | ![]() |
Applicazione tipica
Specifiche di funzionamento
Pin e alimentazione
La tensione di alimentazione deve essere compresa tra 3-5.5V DC. Quando l’alimentazione viene fornita al sensore, non inviare alcuna istruzione al sensore per almeno un secondo per permettere al sensore di stabilizzarsi. Un condensatore da 100nF può essere inserito tra tra VDD e GND per il filtraggio dell’alimentazione
Comunicazione e segnale
Dati single-bus viene utilizzato per la comunicazione tra MCU e di DHT11.
Caratteristiche elettriche:
Descrizione | Condizione | Min | Tipico | Max | Unità |
---|---|---|---|---|---|
Alimentazione | DC | 3 | 5 | 5.5 | V |
Alimentazione di corrente | di misura | 0,5 | 2.5 | mA | |
Stand-by | 100 media | Null | 150 | uA | |
Media | 0.2 | Null | 1 | mA |
Collegamento ad Arduino
Per utilizzare il sensore DHT11 questo può essere collegato ad un Arduino UNO, mentre la lettura potrà essere mostrata attraverso un display LCD 16×2 connesso alla scheda Arduino tramite una scheda che permette un collegamento seriale, per esempio il modulo SparkFun
I componenti utilizzati sono
- Scheda Arduino UNO
- Modulo display tipo Serial Enabled LCD Backpack oppure tipo autocostruito con un display LCD 16×2
- Sensore DTH11, in alternativa può essere utilizzato un modulo KY-015Temperature and humidity sensor, in questo caso non è necessaria la resistenza, in quanto già montata sul modulo.
- Una resistenza 4,7kΏ 1/4W
- Una breadboard
- Cavetti vari di collegamento
![]() | ![]() ![]() |
Arduino UNO | Modulo display SparkFun |
![]() ![]() | ![]() |
Sensore DHT11 o modulo KY015 | Breadboard |
![]() | ![]() |
Resistenza 4.7K | Jumper Wires |
Per il collegamento si farà riferimento agli schemi sotto riportati
Utilizzo del modulo
KY-015Temperature and humidity sensor module
Per la prova, dopo aver realizzato i vari collegamenti si dovrà caricare il programma all’interno della memoria di Arduino, il programma utilizza varie librerie che sono:
- Gestione DHT11 oppure da questo link
- Libreria per la gestione del modulo LCD scritta da Steven Cogswell (vedere link).
- SoftwareSerial già presente al’interno del’IDE
I dati di umidità e temperatura sono mostrati sul display LCD.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <dht11.h> #include <SoftwareSerial.h> #include <SerLCD.h> dht11 DHT11; SoftwareSerial NSS(0, 5); SerLCD lcd(NSS); #define DHT11PIN 2 //Pin a cui è collegato il sensore void setup() { NSS.begin(9600); lcd.begin(); lcd.setBacklight(255); lcd.clear(); lcd.setPosition(1, 0); lcd.print("Temperat.[C]: "); lcd.setPosition(2, 0); lcd.print("Umidita' [%]: "); delay(1000); // Pausa di stabilizzazione sensore } void loop() { uint8_t chk = DHT11.read(DHT11PIN); //Valori su display 16X2 lcd.setPosition(1, 13); lcd.print(DHT11.temperature, DEC); lcd.setPosition(2, 13); lcd.print(DHT11.humidity, DEC); delay(2000); //Intervallo di misura } |
Esempio lettura con programma esempio libreria
Video dimostrativo
Il video è relativo al test realizzato con con il Multi Test Shield