Termometrul

A. Scopul proiectului

Vom realiza un termometru ce determină temperatura și umiditatea din mediul ambiental folosind senzorul DHT11.

B. Componentele necesare

  • Arduino Uno;
  • Senzor de temperatură și umiditate DHT11;
  • Fire.

C. Diagrama de conectare

Diagrama de conectare a senzorului DHT11 cu placa Arduino Uno

D. Conexiunea firelor

  • GND la GND;
  • 5V la 5V;
  • Pinul de semnal la D2.

Înainte de a începe programarea trebuie să instalăm biblioteca DHT necesară pentru senzorul DHT11.

E. Codul sursă

#include "DHT.h" // Includem biblioteca DHT
#define DHTPIN 2     // Inițializăm senzorul DHT pe pinul 2
#define DHTTYPE DHT11   // Definim tipul senzorului DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() 
{
  Serial.begin(9600);
  Serial.println(F("Test DHT11"));
  dht.begin();
}
void loop() 
{
  // Întârziere de 2 secunde pentru măsurarea temperaturii
  delay(2000); 
// Citim valoarea umidității
  float h = dht.readHumidity(); 
// Citim temperatura în grade Celsius
  float t = dht.readTemperature();  
//Citim temperatura în grade Fahrenheit (isFahrenheit=true)
  float f = dht.readTemperature(true);  
  // Verificăm dacă există erori la citirea datelor
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Eroare la citirea senzorului DHT!"));
    return;  }
  // Calculăm indicele de căldură în grade Fahrenheit (implicit)
  float hif = dht.computeHeatIndex(f, h);
  // Calculăm indicele de căldura în grade Celsius (isFahrenheit = false)
  float hic = dht.computeHeatIndex(t, h, false);
  // Afișăm valorile citite de senzor: umiditatea, temperatura în grade C și F
  Serial.print(F("Umiditate: "));   Serial.print(h);
  Serial.print(F("%  Temperatura: "));  Serial.print(t);
  Serial.print(F("C "));  Serial.print(f);
  Serial.print(F("F  Indice de căldură: "));  Serial.print(hic);
  Serial.print(F("C "));  Serial.print(hif);
  Serial.println(F("F"));
}

F. Informații

Senzorul DHT11 este alcătuit dintr-un senzor de umiditate capacitiv și un termistor. Este relativ ușor de utilizat, dar necesită o sincronizare atentă pentru a culege informațiile.

Observație! Acestui termometru i se mai poate adăuga un ecran LCD pentru afișarea valorilor senzorului, devenind astfel un proiect ce funcționează independent de calculator.