#include <ArduinoJson.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include "DHT.h"
#define DHTPIN1 27
#define DHTPIN2 26
#define DHTPIN3 25
#define DHTPIN4 33
#define DHTPIN5 17
#define DHTTYPE DHT22
DHT dht1(DHTPIN1, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);
DHT dht3(DHTPIN3, DHTTYPE);
DHT dht4(DHTPIN4, DHTTYPE);
DHT dht5(DHTPIN5, DHTTYPE);
#define TFT_DC 2
#define TFT_CS 15
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
float avg=0;
const int r =12;
const int g =13;
const int b =14;
const int buzz= 21;
void setup() {
Serial.begin(115200);
Serial.println(F("DHTxx test!"));
pinMode(r, OUTPUT);
pinMode(g, OUTPUT);
pinMode(b, OUTPUT);
pinMode(r, OUTPUT);
pinMode(buzz, OUTPUT);
dht1.begin();
dht2.begin();
dht3.begin();
dht4.begin();
dht5.begin();
tft.begin();
tft.setRotation(0);
}
void loop() {
float t1 = dht1.readTemperature();
float t3 = dht3.readTemperature();
float t4 = dht4.readTemperature();
float t5 = dht5.readTemperature();
float t2 = dht2.readTemperature();
avg= (t1+t2+t3+t4+t5)/5.00;
Serial.println("Average : ");
Serial.print(avg);
Serial.println("");
if (isnan(t1) || isnan(t2) || isnan(t3)|| isnan(t4)|| isnan(t5)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
} else if(t1>40 || t2>40 || t3>40 || t4>40 || t5>40){
tft.fillScreen(ILI9341_WHITE);
tft.setCursor(0, 0);
tft.setTextColor(ILI9341_RED);
tft.setTextSize(4);
tft.print("Emergency-Fire Alert");
tone(buzz,250);
digitalWrite(r, HIGH);
digitalWrite(g, LOW);
digitalWrite(b, LOW);
delay(1000);
}else if ((avg>=0.00)&&(avg<=20.00)){
tft.fillScreen(ILI9341_WHITE);
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(3);
tft.setCursor(0,0);
tft.println(" ");
tft.print(" ");
tft.println(" Amidious");
tft.println(" ");
tft.println(" Temperature:");
tone(buzz,0);
digitalWrite(r, LOW);
digitalWrite(g, HIGH);
digitalWrite(b, LOW);
delay(1000);
}else if(avg<0.00){
tft.fillScreen(ILI9341_WHITE);
tft.setTextColor(ILI9341_BLUE);
tft.setTextSize(3);
tft.setCursor(0,0);
tft.println(" ");
tft.print(" ");
tft.print(" Cold ");
tone(buzz,0);
digitalWrite(r, LOW);
digitalWrite(g, LOW);
digitalWrite(b, HIGH);
delay(1000);
}else{
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(3);
tft.setCursor(0,1);
tft.println(" ");
tft.println(" ");
tft.println(" Fire_Alarm_");
tft.println(" ");
tft.println(" System");
tone(buzz,0);
digitalWrite(r, LOW);
digitalWrite(g, LOW);
digitalWrite(b, LOW);
delay(1000);
}
}