#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup(){
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
digitalWrite(7, HIGH);
digitalWrite(12, HIGH);
digitalWrite(5, HIGH);
pinMode(6, OUTPUT);
pinMode(13, OUTPUT);
pinMode(4, OUTPUT);
}
void loop() {
int Input =analogRead(A0);
double voltage = Input* (5.0 /1024.0) *10;
double L_Current = voltage/7;
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Check if any reads failed and exit early (to try again).
if (isnan(temperature) || isnan(humidity)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
lcd.setCursor(2,2);
lcd.print(F("Humidity: "));
lcd.print(humidity);
lcd.setCursor(3,1);
lcd.print(F("Temprature:"));
lcd.print(temperature);
lcd.println(F("C"));
lcd.setCursor(1,0);
lcd.print("L_Current:");
lcd.print(L_Current);
lcd.print("mA");
if(L_Current>=6.00){
digitalWrite(6, LOW);
tone(13,10,10002220);
lcd.setCursor(4,3);
lcd.print("LINE FAULT!");
}
else{
digitalWrite(6, HIGH);
tone(13, stdout);
lcd.setCursor(4,3);
lcd.print("SAFE MODE!");
}
if(temperature>=25){
tone(4,putc);
lcd.setCursor(4,3);
lcd.print("FIRE ALERT!");
}
else{
if(temperature<24){
tone(4, stdout);
}
}
}