Realizați acest circuit digital de măsurare a temperaturii, umidității folosind Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În articolul nostru anterior, am învățat cum să interfațăm senzorul de umiditate a temperaturii cu arduino și citim afișat pe monitorul serial al IDE arduino. În acest post vom învăța cum să afișăm citirea pe un ecran LCD de 16x2 pentru contorul digital de temperatură / umiditate propus folosind Arduino.

Introducere

Acest proiect poate fi folosit ca termometru de cameră precum și contor de umiditate, deoarece ambele funcționalități sunt integrate într-un singur senzor.



Dacă nu ați citit încă articolul anterior, vă rugăm să îl verificați. A acoperit elementele de bază ale senzorilor din seria DHTxx .

Acum, știți destul de multe despre senzorii DHTxx. Este mai bine să utilizați senzorul DHT22 pentru proiecte pe care urmează să le utilizați pe termen lung.



Imagine prototip:

Prototip de lucru pentru un circuit digital de măsurare a temperaturii, umidității

Design-ul:

Conexiunea dintre LCD și arduino este standard, unde puteți găsi conexiuni similare pe altele Proiecte bazate pe LCD .

Programul este scris în așa fel încât trebuie doar să introduceți DHT11 în portul corect de pe Arduino. Acest lucru va reduce congestia firelor în timpul prototipării acestui proiect.

Dacă doriți să simțiți temperatura ambiantă în jurul unei zone / circuit, puteți extinde firele de la senzor. Pentru ca setarea completă să poată fi făcută într-o cutie de gunoi și senzorul să fie extins în afara cutiei de gunoi, ca o sondă.

Circuit digital de măsurare a temperaturii, umidității folosind Arduino

Puteți utiliza placa dvs. preferată Arduino pentru acest proiect, dar sugestia mea este să folosiți „Arduino pro mini”, care este mai puțin costisitor și de dimensiuni reduse, care s-ar putea încadra cu ușurință într-o cutie mică de junk pentru astfel de proiecte simple.

Există o mulțime de mecanisme de detectare a erorilor scrise în biblioteca DHT pentru a informa utilizatorul despre eroare. Dar pentru a simplifica programul, tocmai am adăugat un mecanism de detectare a erorilor, care este ilustrat mai jos:

Majoritatea erorilor se datorează conexiunii defectuoase între senzor și arduino, alte erori mai puțin probabil să apară, deoarece o cantitate mică de date este transferată între arduino și senzor. Acest lucru nu înseamnă că nu va apărea alt tip de eroare.

Pentru a vă face o idee despre toate tipurile de erori asociate acestui senzor, vă rugăm să consultați exemplul de cod din „DHTlib”.

Codul programului pentru temperatura digitală explicată mai sus, umidometru folosind Arduino:

Codul programului

//------------------Program developed by R.Girish-----------------//
#include
#include
dht DHT
LiquidCrystal lcd(12,11,5,4,3,2)
#define DHTxxPIN A1
int p = A0
int n = A2
int ack
int f
void setup()
{
lcd.begin(16,2)
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
}
void loop()
{
digitalWrite(p,1)
digitalWrite(n,0)
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
f=DHT.temperature*1.8+32
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Temp:')
lcd.print(DHT.temperature)
lcd.print('C/')
lcd.print(f)
lcd.print('F')
lcd.setCursor(0,1)
lcd.print('Humidity:')
lcd.print(DHT.humidity)
lcd.print('%')
delay(500)
}
if(ack==1)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('NO DATA, Please')
lcd.setCursor(0,1)
lcd.print('check connection')
delay(500)
}

}
// ------------------ Program dezvoltat de R.Girish ----------------- //

Notă: Programul este compatibil numai cu senzorul DHT11




Precedent: Interfațarea senzorului de umiditate a temperaturii DHTxx cu Arduino Următorul: 4 cele mai bune circuite de comutare a senzorului tactil explorate