Sensore Temperatura-Umidità DHT11 per Arduino

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.
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.

sensore dht11 arduino

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

 

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

sensore dht11 arduino

sensore dht11 arduino

Immagini tratte dahttp://www.radiolocman.com/shem/schematics.html?di=112850

Frontale Laterale Posteriore

 Applicazione tipica

sensore dht11 arduino

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:

DescrizioneCondizioneMinTipicoMaxUnità
AlimentazioneDC355.5 V
Alimentazione di corrente di misura 0,52.5mA
Stand-by100 mediaNull 150uA
Media 0.2Null1mA

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

Arduino UNO Modulo display SparkFun
sensore dht11 arduinosensore dht11 arduino
Sensore DHT11 o modulo KY015 Breadboard
Resistenza 4.7K Jumper Wires

Per il collegamento si farà riferimento agli schemi sotto riportati

sensore dht11 arduino

sensore dht11 arduino

Utilizzo del modulo
KY-015Temperature and humidity sensor module

sensore dht11 arduino

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:

I dati di umidità e temperatura sono mostrati sul display LCD.


Scarica il programma


Libreria DHT11

Libreria SerLCD

#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

sensore dht11 arduino

Video dimostrativo

Il video è relativo al test realizzato con con il Multi Test Shield

sensore dht11 arduino