Proiect Arduino cu senzor de temperatura si umiditate DHT11
In acest videoclip, vei urmari un tutorial care te va ghida pas cu pas prin modul in care trebuie conectat modulul senzor de temperatura si umiditate DHT11, compatibil Arduino cu celelalte componente necesare.
In acest proiect, vei invata cum sa construiesti un sistem de monitorizare a temperaturii si umiditatii, afisand datele pe un ecran LCD, cu ajutorul modulului senzor de temperatura si umiditate DHT11, compatibil Arduino. Acest tutorial poate fi folosit in diverse aplicatii precum un incubator sau o statie meteo.

DHT11 este capabil sa masoare temperaturi de la 0°C la 50°C, cu o precizie de ±2.0°C, si umiditatea in intervalul 20% - 90%, cu o precizie de 5%. Este important de mentionat ca acest senzor are o rata de esantionare de 1Hz, ceea ce inseamna ca trebuie sa existe cel putin o secunda intre fiecare citire a senzorului, altfel valorile citite vor fi incorecte. Daca doresti sa afli mai multe informatii despre modulul senzor de temperatura si umiditate DHT11, ii poti accesa datasheet-ul AICI.
Cum functioneaza DHT11?
Modulul senzor de temperatura si umiditate DHT11 este alcatuit din trei componente principale: un senzor de umiditate de tip rezistiv, un termistor NTC (coeficient de temperatura negativ) si un microcontroler de 8 biti, care converteste semnalele analogice de la ambii senzori si transmite un singur semnal digital. Acest semnal digital poate fi citit de orice microcontroler sau microprocesor, facilitand astfel procesarea datelor de temperatura si umiditate in proiectul tau.
Componente necesare
In continuare, pentru a putea construi acest proiect vei avea nevoie de:
- 1 x modul senzor de temperatura si umiditate DHT11
- 1 x ecran LCD1602 cu modul I2C
- 1 x placa de dezvoltare compatibila Arduino Uno R3
- 7 x fire tata-mama
Acum ca ai aflat care sunt componentele necesare, te vei ghida dupa schema de conectare de mai jos.
Schema conectare modul senzor de temperatura si umiditate DHT11

Pentru modulul senzor de temperatura si umiditate DHT11 conecteaza pinul S la portul digital 2 Arduino, pinul din mijloc la 3,3V Arduino si ultimul pin la GND Arduino.
Pentru ecranul LCD1602 cu modul I2C conecteaza pinul GND la GND Arduino, pinul VCC la 5V Arduino, pinul SDA la portul analogic A4 Arduino si pinul SCL la portul analogic A5 Arduino.

Exemplu cod
In acest proiect va trebui sa folosesti librariile LiquidCrystal_I2C (pentru ecranul LCD - descarca AICI), DHT (pentru senzorul de temperatura si umiditate - descarca AICI) si libraria Adafruit Unified Sensor (in cazul in care intampini erori la compilare - descarca AICI).
Pentru a adauga o librarie in mediul de dezvoltare Arduino IDE, deschide aplicatia si din meniul Sketch (Schita) acceseaza Include Library (Incarcare biblioteca) si apoi selecteaza Add .ZIP Library... (Adauga biblioteca .ZIP). Cauta si selecteaza fisierul .zip al librariei LiquidCrystal_I2C, respectiv DHT. Dupa ce ai deschis fisierul, procesul de instalare se va termina cu succes si va aparea un mesaj de confirmare in partea de jos a ferestrei.
Dupa ce ai realizat circuitul si ai instalat librariile necesare, introdu codul furnizat mai jos. Conecteaza placa Arduino la computer prin intermediul cablului USB, selecteaza tipul de placa si portul serial corespunzator (din meniul Tools -> optiunile Board si Port). Pentru a incarca codul pe placa, apasa butonul Upload (simbolul cu sageata spre dreapta). In partea de jos a ferestrei vei putea urmari mesajele de stare: Compiling Sketch, Uploading si Done. Dupa finalizarea incarcarii, placa Arduino va incepe sa ruleze codul.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define DHTTYPE DHT11
const int DHT11_PIN = 2;
DHT dht(DHT11_PIN, DHTTYPE);
void setup() {
lcd.init();
lcd.backlight();
dht.begin();
}
void loop() {
delay(2000);
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(dht.readTemperature());
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Umiditate: ");
lcd.print(dht.readHumidity());
lcd.print("%");
}