Cu un Arduino, senzor DHT22 și LCD, puteți crea un gadget pentru a măsura și afișa temperatura și umiditatea relativă.
Crearea propriului gadget de măsurare a temperaturii/umidității poate fi o experiență distractivă și plină de satisfacții. Folosind un microcontroler Arduino, acest proiect DIY poate fi folosit pentru a vă monitoriza temperatura și umiditatea camerei, în special în verile fierbinți.
Mai mult, vă poate ajuta și să evaluați performanța aparatului dumneavoastră de aer condiționat. Pentru detectarea temperaturii și umidității, vom folosi un senzor electronic, care va fi conectat la un microcontroler care va prelua datele de la senzor și le va prezenta pe un afișaj.
Ce vei avea nevoie
Pentru acest proiect DIY, vom avea nevoie de următoarele componente:
- Microcontroler Arduino Mega
- Fire de conectare
- Cablu USB tip A la USB tip B
- Senzor DHT22
- Display LCD 16x2
- Laptop sau computer cu Software-ul Arduino instalat
- Breadboard (consultați ghidul nostru pentru folosind o placă de breadboard)
- Rezistoare sau un potențiometru
Pasul 1: Conectați microcontrolerul Arduino Mega
Conectați placa Arduino la computer sau laptop folosind cablul USB. Acest cablu nu numai că pornește modulul Arduino și funcționează ca sursă de alimentare a acestuia, dar permite și computerului să comunice cu placa Arduino pentru executarea codului și comenzi. Când este conectat printr-un cablu USB la computer, Arduino arată că este în stare de funcționare prin aprinderea LED-ului.
Din bara de meniu a Arduino IDE, accesați Instrumente filă și selectați Arduino Mega de la Bord Opțiuni. În mod similar, selectați portul COM sub același Instrumente fila.
Pasul 2: Pregătiți senzorul și LCD-ul
Proiectul folosește un senzor de temperatură/umiditate DHT22 și un ecran LCD 16x2, pentru care veți avea nevoie de bibliotecile IDE Arduino relevante.
Senzor DHT22
DHT11 și DHT22 sunt senzori electronici care măsoară temperatura și nivelul de umiditate din mediu. Ele funcționează pe principii similare, dar diferă în intervalele lor de specificații. Pentru acest proiect DIY, folosim un senzor DHT 22 (în special, versiunea AM2302 cu fir). DHT22 este o opțiune mai bună în ceea ce privește gamă largă și precizie atât pentru detectarea temperaturii, cât și a umidității.
Modulul DHT22 / AM2302 are trei pini cu următoarea configurație:
Pin |
Nume |
Funcţie |
---|---|---|
1 |
Vcc |
+5V putere |
2 |
Date |
Date pentru umiditate și temperatură |
3 |
Gnd |
Pământ comun pentru calea semnalului |
Cel mai simplu mod de a utiliza senzorii DHT cu microcontrolere Arduino este instalarea DHT.h bibliotecă, care poate fi utilizată atât pentru senzorii DHT11, cât și pentru DHT22. Această bibliotecă este de obicei preinstalată în Arduino IDE. Dacă nu este disponibil, îl puteți instala de la Manager de bibliotecă sub Instrumente fila.
Display LCD 16x2
Pentru a afișa citirile senzorului, folosim un LCD 16x2 display pentru Arduino. Acest afișaj are 16 pini hardware și are nevoie de o interfață de microcontroler pentru a-și controla funcționalitatea. Următorul tabel prezintă pinii hardware ai ecranului LCD și funcționalitatea acestora.
Numarul pin |
Nume |
Funcţie |
---|---|---|
1 |
Gnd |
Teren comun |
2 |
Vdd |
+5VDC (sursa LCD) |
3 |
Vee |
Controlul luminozității |
4 |
RS |
Înregistrare Selectați |
5 |
R/V |
Citeste, scrie |
6 |
RO |
Permite dezactivarea |
7 |
DB0 |
Pinul 0 al magistralei de date |
8 |
DB1 |
Pinul 1 al magistralei de date |
9 |
DB2 |
Pinul 2 al magistralei de date |
10 |
DB3 |
Pinul 3 al magistralei de date |
11 |
DB4 |
Pinul 4 al magistralei de date |
12 |
DB5 |
Pinul 5 al magistralei de date |
13 |
DB6 |
Pinul 6 al magistralei de date |
14 |
DB7 |
Pinul 7 al magistralei de date |
15 |
LED+ |
LED de fundal (+5V) |
16 |
LED- |
LED de fundal (Temă comună) |
Ecranul LCD 16x2 poate afișa fie folosind patru magistrale de date, fie opt magistrale de date. Aici folosim patru magistrale de date de la microcontroler la LCD. Doar patru pini de date (DB4 la DB7) ai LCD-ului 16x2 sunt conectați la Arduino, împreună cu pinii RS (Register Select) și EN (Enable).
În modul pe 4 biți, datele/comenzile sunt trimise într-un format nibble de 4 biți. La început, trimite un 4-biți mai mare și apoi trimite un 4-biți mai mic de date/comandă. Datorită unor astfel de conexiuni, putem salva patru pini GPIO pe Arduino nostru, care pot fi utilizați pentru o altă aplicație. Rețineți că scopul Pinilor 15 și 16 (LED de fundal) este de a ilumina afișajul, doar pentru o vizibilitate îmbunătățită.
Puteți folosi LiquidCrystal.h Biblioteca Arduino pentru a controla LCD-ul 16x2. Această bibliotecă este de obicei preinstalată. Dacă nu este disponibil, îl puteți instala de la Manager de bibliotecă sub Instrumente filă în Arduino IDE.
Pasul 3: Construiți circuitul pentru a conecta senzorul și LCD
Următoarea schemă de conectare este utilizată pentru acest circuit.
Arduino Mega Pin |
LCD/DHT22 Pin |
---|---|
2 |
D4 de LCD |
3 |
D5 de LCD |
4 |
D6 de LCD |
5 |
D7 de LCD |
8 |
RS de LCD |
9 |
RO de LCD |
52 (SCK) |
Pinul de ieșire de date al DHT22 |
Placa Arduino Mega oferă conexiuni de alimentare atât la LCD, cât și la senzor, deoarece acestea sunt module cu putere redusă și pot fi gestionate cu ușurință prin această placă. Pentru controlul luminozității LCD, folosim un divizor de tensiune cu rezistență, plasat astfel încât pinul 3 (VEE) al LCD-ului să fie furnizat în jur de 0,1 V până la 0,5 V pentru o luminozitate optimă. Alternativ, un potențiometru poate fi utilizat în locul acestui divizor de tensiune. Pinul 5 (R/W) al ecranului LCD este setat la masă pentru funcția de numai scriere.
Pasul 4: Încărcați codul pe Arduino
Acum este momentul să încărcați codul pe placa Arduino Mega pentru a efectua sarcina necesară, care include preluarea datelor senzorului de la DHT22 și afișarea acestora pe LCD.
Codul pentru acest proiect este disponibil de aici GitHub repo.
Codul este proiectat conform conexiunilor de cablare ale circuitului prezentat la pasul 3. Acum îl puteți testa pentru evaluarea performanței.
Testarea Modulului
Pentru a ne asigura că senzorul funcționează corect și detectează temperatura și umiditatea, ținem senzorul la câțiva centimetri deasupra unei cani de apă fierbinte (emițând vapori fierbinți). Nu scufundați senzorul DHT 22 în apă, deoarece poate duce la un scurtcircuit și poate cauza deteriorarea permanentă a senzorului! După câteva secunde, se poate observa o creștere a procentului de temperatură și umiditate, ceea ce arată că modulul funcționează bine.
Ți-ai construit propriul termometru și umiditate
Acum că v-ați construit propriul termometru și umiditate, puteți extinde și mai mult această idee prin încorporarea telecomenzii monitorizarea temperaturii și umidității prin transmiterea acestor informații către un alt dispozitiv utilizând un Wi-Fi sau Bluetooth adaptor. De asemenea, puteți utiliza datele senzorului din acest modul pentru a activa aerul condiționat din cameră sau sistemul de evacuare se pornește și se oprește automat în funcție de setările dorite, pentru a menține temperatura/umiditatea în cameră sau la locul de muncă.