#include<DHT.h>
#include<Servo.h>
//***********ledpin
#define ledPin 4
//************gaspin
#define gasPin A0
//buzzerpin
#define buzzerPin 3
//************servo motor pin
#define servoPin 11
//************dht22 pin
#define dhtPin 2
#define dht_type DHT22
//
//button pin
const int buttonPin = 13;
int oldValue = LOW;
//
Servo s;
//
DHT dh(dhtPin,dht_type);
float TC;
float TF;
float HUMI;
//****************************************************
void setup()
{
Serial.begin(115200);
//********************************SMART GARAGE********************
// Initialize the pin for reading the button.
pinMode(buttonPin, INPUT);
//
s.attach(servoPin);
//**************************SMART KITCHEN**********************
pinMode(ledPin, OUTPUT);
pinMode(gasPin, INPUT);
pinMode(buzzerPin, OUTPUT);
dh.begin();
}
void loop()
{
//*************************SMART GARAGE*******************
// Read the value of pin 13.
int newValue = digitalRead(buttonPin);
// Check if the value was changed,
// by comparing it with the previous value.
if(newValue != oldValue)
{
if(newValue == HIGH)
{
Serial.println("The button is pressed.");
for (int angle = 0; angle <= 180; angle += 45) {
s.write(angle);
delay(850);
}
}
else
{
Serial.println("The button is released.");
for (int angle = 180; angle >= 0; angle -= 45) {
s.write(angle);
delay(850);
}
}
delay(100);
// Remember the value for the next time.
oldValue = newValue;
}
// Slow down the sketch.
// Also for debouncing the button.
delay(100);
//*********************SMART KITCHEN**********************
//--------------------gas
int gasLevel=analogRead(gasPin);
Serial.print("GAS LEVEL: ");
Serial.print(gasLevel);
Serial.println("ppm");
//--------------------temp & humi
TC=dh.readTemperature();
TF=dh.readTemperature(true);
HUMI=dh.readHumidity();
Serial.print("HUMIDITY: ");
Serial.print(HUMI);
Serial.println(" ");
Serial.print("CENTREGRATE TEMPERATURE: ");
Serial.print(TC);
Serial.println(" ");
Serial.print("FARENHIDE TEMPERATURE: ");
Serial.print(TF);
Serial.println(" ");
//---------------------logic
if((gasLevel>=0 && gasLevel<=400) && (TC >= 0.00 && TC<= 35.00)){
Serial.println("ALL SYSTEM IS NORMAL.");
digitalWrite(ledPin, LOW);
digitalWrite(buzzerPin, LOW);
}
else if((gasLevel >=401 && gasLevel <=650) || (TC >= 35.01 && TC <= 50.00)){
Serial.println("PROBLEM MAY ARISE!!!");
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
else if(gasLevel >=651 || TC >= 50.01){
Serial.println("HOUSE IS ON THE RED ALART...!!!");
Serial.println("THE PROBABLITY OF A HOUSE FIRE IS EXTREMELY HIGH!!!!!!!!");
digitalWrite(buzzerPin, HIGH);
tone(buzzerPin,1000,1000);
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(buzzerPin, LOW);
digitalWrite(ledPin, LOW);
delay(1000);
}
else{
Serial.println(" WRONG INPUT COLLECTED!!!!");
}
Serial.print("\n");
delay(1500);
}