#include <SPI.h>
#include <DHT.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#define DHTPIN1 4
#define DHTPIN2 5
#define DHTPIN3 6
#define DHTPIN4 7
#define DHTPIN5 8
#define DHTTYPE DHT22
#define BUZZER_PIN 9
#define LED_R_PIN 10
#define LED_G_PIN 11
#define LED_B_PIN 12
#define TFT_CS 13
#define TFT_RST 14
#define TFT_DC 15
DHT dht1(DHTPIN1, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);
DHT dht3(DHTPIN3, DHTTYPE);
DHT dht4(DHTPIN4, DHTTYPE);
DHT dht5(DHTPIN5, DHTTYPE);
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
void setup() {
Serial.begin(9600);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_R_PIN, OUTPUT);
pinMode(LED_G_PIN, OUTPUT);
pinMode(LED_B_PIN, OUTPUT);
dht1.begin();
dht2.begin();
dht3.begin();
dht4.begin();
dht5.begin();
tft.begin();
tft.setRotation(3);
tft.fillScreen(ILI9341_BLACK);
}
void loop() {
float t1 = dht1.readTemperature();
float t2 = dht2.readTemperature();
float t3 = dht3.readTemperature();
float t4 = dht4.readTemperature();
float t5 = dht5.readTemperature();
float avgTemp = (t1 + t2 + t3 + t4 + t5) / 5.0;
if (t1||t2||t3||t4||t5>=40){
Serial.print("fire hazard");
}
else if (avgTemp >= 25) {
Serial.print("cold");
digitalWrite(BUZZER_PIN, HIGH);
digitalWrite(LED_R_PIN, HIGH);
delay(500);
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(LED_R_PIN, LOW);
delay(500);
} else {
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(LED_R_PIN, LOW);
}
tft.fillScreen(ILI9341_BLACK);
tft.setCursor(0, 0);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
tft.println("Temperature: ");
tft.println(avgTemp);
delay(1000);
}