#include <DHT.h>
#include <LiquidCrystal_I2C.h>
//Constants
#define LCD_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_ROWS 2
#define DHTPIN 6 //dht pin
#define DHTTYPE DHT22
DHT dht(DHTPIN,DHTTYPE); //Initailise DHT sensor for normal 16MHz Arduino
//Variables
float hum; //Store Humidity value
float temp; //Store Temperature value
float volume; //Store Decibel value
int movement; // Motion Detection Value
float SOUND_PIN = A0;
int MOTION_PIN = 8;
int BUZZER_PIN = 9;
LiquidCrystal_I2C lcd(LCD_ADDR,LCD_COLUMNS,LCD_ROWS);
void setup()
{
pinMode(SOUND_PIN,INPUT);
pinMode(MOTION_PIN,INPUT);
pinMode(BUZZER_PIN,OUTPUT);
lcd.begin(16,2);
lcd.init();
lcd.backlight();
Serial.begin(9600);
dht.begin();
}
void loop() {
//Read data and store it to variables hum and temp
hum = dht.readHumidity();
temp = dht.readTemperature();
volume = analogRead(SOUND_PIN);
movement = digitalRead(MOTION_PIN);
if (temp <= 19.00 || temp > 27.00) {
digitalWrite(BUZZER_PIN,HIGH);
}
else{
digitalWrite(BUZZER_PIN,LOW);
}
//Print temp and humidity values to serial monitor
Serial.print("\n");
Serial.print("Humidity: ");
Serial.print(hum);
Serial.println(" %");
Serial.print("Temp: ");
Serial.print(temp);
Serial.println(" C");
Serial.print("Volume: ");
Serial.println(volume);
Serial.print("----------");
delay(2000); //Dealy 2 secs
}