Heellooo :)!
Nagyon köszönöm az eddigi válaszokat és segítséget !
Összeállítottam egy kódot, legyen szíves egy hozzáértő ellenőrizni nekem!
Lényeg a következő ...
28foknál kapcsoljon BE a melegítő, 31foknál KI...
80%-os páratartalomnál a párásító BE, 95%-nál KI... :)!
A DHT22 alapból Celsius és % mértékegységű, vagy kell konvertálnom fahrenheit-ből celsiusba?
Ha igen, akkor a kód mely részében kell megadnom a konverzió kódját? setupban vagy loopban?
Jöjjön a KÓD :)
#include <LiquidCrystal.h>
#include <dht22.h>
LiquidCrystal lcd (12,11,5,4,3,2);
dht DHT22
#define DHT22 7;
#define HEATERRELAY 8;
#define FOGGERRELAY 9;
void setup()
{
lcd.begin(16,2);
pinMode(HEATERRELAY, OUTPUT);
digitalWrite(HEATERRELAY, LOW);
pinMode(FOGGERRELAY, OUTPUT);
digitalWrite(FOGGERRELAY, LOW);
delay (5000);
}
void loop()
{
DHT22 = DHT.read22(DHT22);
lcd.setCursor(0,0);
lcd.print ( ̎Temperature = ̎ );
lcd.print(DHT22.temperature);
lcd.clear;
delay(6000);
}
if(DHT22.temperature < 28)
{
digitalWrite(HEATERRELAY, HIGH);
}
else
{
digitalWrite(HEATERRELAY, LOW);
}
if(DHT22.temperature > 31)
{
digitalWrite(HEATERRELAY, LOW);
}
else
{
digitalWrite(HEATERRELAY, HIGH);
}
DHT22 = DHT.read22(DHT22);
lcd.setCursor(0,1);
lcd.print( ̎ Humidity = ̎ );
lcd.print(DHT22.humidity);
lcd.clear;
delay(6000);
if(DHT22.humidity < 80)
{
digitalWrite(FOGGERRELAY, HIGH);
}
else
{
digitalWrite(FOGGERRELAY, LOW);
}
if(DHT22.humidity > 95)
{
digitalWrite(FOGGERRELAY, LOW);
}
else
{
digitalWrite(FOGGERRELAY, LOW);
delay(6000);
A fő kérdés a következő lenne... kell-e a második if-else függvény a hőmérsékletnél és a páratartalomnál?
Tehát ami kikapcsolja a relét, ha eléri a kívánt tartományt!?!?!?!
Köszönöm szépen a válaszokat előre is :).
Üdv : proZac