Vom realiza un termometru ce determină temperatura și umiditatea din mediul ambiental folosind senzorul DHT11.
Înainte de a începe programarea trebuie să instalăm biblioteca DHT necesară pentru senzorul DHT11.
#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"));
}
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.