prozZzac Creative Commons License 2016.04.17 0 0 1808

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