U našem prethodnom članku naučili smo kako povezati senzor vlažnosti temperature s arduinom i očitali prikaz na serijskom monitoru arduino IDE-a. U ovom ćemo postu naučiti kako prikazati očitanje na LCD zaslonu 16x2 za predloženi digitalni mjerač temperature / vlažnosti pomoću Arduina.
Uvod
Ovaj se projekt može koristiti kao sobni termometar kao i mjerač vlage, jer su obje funkcije integrirane u jedan senzor.
Ako još niste pročitali prethodni članak, pogledajte ga. Pokrivalo je osnove senzora serije DHTxx .
Sada znate prilično puno o DHTxx senzorima. Bolje je koristiti DHT22 senzor za projekte koje ćete dugoročno koristiti.
Slika prototipa:
Dizajn:
Veza između LCD-a i arduina je standardna, gdje slične veze možete pronaći i na drugim Projekti zasnovani na LCD-u .
Program je napisan na takav način da samo trebate umetnuti DHT11 u pravi priključak na Arduinu. To će smanjiti zagušenja žica tijekom izrade prototipa ovog projekta.
Ako želite osjetiti temperaturu okoline oko nekog područja / kruga, možete odmjeriti žice od senzora. Tako da se cijela postavka može izvršiti u smeću, a senzor se izvlači iz otpada, poput sonde.
Za ovaj projekt možete koristiti svoju omiljenu Arduino ploču, ali moj je prijedlog da upotrijebite “Arduino pro mini” koji je jeftiniji i malih dimenzija, a koji se lako može uklopiti u malu smeću za tako jednostavne projekte.
U DHT knjižnici postoji mnogo mehanizama za otkrivanje pogrešaka koji obavještavaju korisnika o pogrešci. Da bih program učinio jednostavnim, upravo sam dodao jedan mehanizam za otkrivanje pogrešaka koji je ilustriran u nastavku:
Do grešaka je uglavnom došlo zbog neispravne veze između senzora i arduina, a manje je vjerojatno da će se dogoditi pogreške, jer se mala količina podataka prenosi između arduina i senzora. To ne znači da se neće dogoditi druga vrsta pogreške.
Da biste dobili ideju o svim vrstama pogrešaka povezanih s ovim senzorom, pogledajte primjer koda u 'DHTlib'.
Programski kod za gore objašnjeni digitalni mjerač temperature i vlage pomoću Arduina:
Programski kod
//------------------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 razvio R.Girish ----------------- //
Napomena: Program je kompatibilan samo s DHT11 senzorom
Prethodno: Povezivanje DHTxx senzora temperature i vlage s Arduinom Sljedeće: Istražena 4 najbolja kruga prekidača osjetnika dodira