#include <DHT.h>;
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#define TFT_DC 4
#define TFT_CS 10
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
#define DHTTYPE DHT22
#define DHTPIN1 3
#define DHTPIN2 5
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int heatingON = 0;
int humidON = 0;
int TempSetPoint = 24;
int HumidSetPoint = 40;
float humidity1 = 0;
float temperature1 = 0;
float humidity2 = 0;
float temperature2 = 0;
float temp = 0;
float humid = 0;
float tempstore = 0;
float humidstore = 0;
DHT dht1(DHTPIN1, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);
void setup()
{
Serial.begin(9600);
dht1.begin();
dht2.begin();
tft.begin();
tft.setRotation(1);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
tft.fillScreen(ILI9341_BLACK);
tft.setCursor(0, 0);
tft.print("Initialising...");
delay(1000);
}
void loop()
{
tft.setTextColor(ILI9341_WHITE);
if (a == 0) tft.fillScreen(ILI9341_BLACK), a = 1;
temperature1 = dht1.readTemperature();
humidity1 = dht1.readHumidity();
temperature2 = dht2.readTemperature();
humidity2 = dht2.readHumidity();
temp = (temperature1 + temperature2) / 2;
humid = (humidity1 + humidity2) / 2;
Serial.print("Temperature 1 ");
Serial.print(temperature1);
Serial.print(" Humidity 1 ");
Serial.println(humidity1);
Serial.print("Temperature 2 ");
Serial.print(temperature2);
Serial.print(" Humidity 2 ");
Serial.println(humidity2);
if (temp != tempstore or humid != humidstore) {
tft.fillScreen(ILI9341_BLACK);
tft.setCursor(0, 0), tft.print("Temperature = ");
tft.setCursor(175, 0), tft.print(temp);
tft.setCursor(0, 20), tft.print("Humidity = ");
tft.setCursor(175, 20), tft.print(humid);
tempstore = temp;
humidstore = humid;
delay(5000);
}
if (humid < HumidSetPoint) {
humidON = 1;
tft.setTextColor(ILI9341_WHITE);
tft.setCursor(0, 40), tft.print("Humidity On..");
}
if (humid >= HumidSetPoint) {
humidON = 0;
tft.setTextColor(ILI9341_BLACK);
tft.setCursor(0, 40), tft.print("Humidity On..");
}
if (temp < TempSetPoint) {
heatingON = 1;
tft.setTextColor(ILI9341_WHITE);
tft.setCursor(0, 60), tft.print("Heating ON..");
}
if (temp >= TempSetPoint){
heatingON = 0;
tft.setTextColor(ILI9341_BLACK);
tft.setCursor(0, 60), tft.print("Heating ON..");
}
}