#include <LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);
#include <DHT.h>
DHT dht(4,DHT22);
void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);
dht.begin();
pinMode(A0, INPUT); //LDR
pinMode(7, INPUT); //PIR
pinMode(5, INPUT); //ECHO
pinMode(6, INPUT); //trigger
pinMode(3, OUTPUT); //buzzer
pinMode(2,OUTPUT); //LED
}
void loop() {
// put your main code here, to run repeatedly:
int ldr=analogRead(A0);
int pir=digitalRead(7);
lcd.setCursor(0,0);
lcd.print("ldr:");
lcd.setCursor(4,0);
lcd.print(ldr);
lcd.setCursor(8,0);
lcd.print("pir:");
lcd.setCursor(12,0);
lcd.print(pir);
if(ldr<=300 && pir==HIGH || ldr>=700 && pir==HIGH){
digitalWrite(2, HIGH);
delay(2000);
digitalWrite(2, LOW);
}
delay(5000);
lcd.clear();
/* digitalWrite(6, LOW);
delayMicroseconds(25);
digitalWrite(6, HIGH);
//delayMicroseconds(10);
//digitalWrite(6, LOW);
int duration = pulseIn(5, HIGH);
int us=duration * 0.034 / 2;
lcd.setCursor(0,0);
lcd.print("us:");
lcd.setCursor(3,0);
lcd.print(us);
delay(2000);
if(us<200)
{
digitalWrite(3, HIGH);
delay(2000);
digitalWrite(3, LOW);
}
delay(100000);
lcd.clear();
*/
float dhtH=dht.readHumidity();
float dhtTemp=dht.readTemperature();
float dhtT = dht.readTemperature(true);
lcd.setCursor(0,1);
lcd.print("H:");
lcd.setCursor(2,1);
lcd.print(dhtH);
lcd.setCursor(8,1);
lcd.print("T:");
lcd.setCursor(10,1);
lcd.print(dhtT);
if(dhtH<=30 && dhtT<=50 || dhtH>=50 && dhtT>=80)
{
digitalWrite(3, HIGH);
delay(2000);
digitalWrite(3, LOW);
}
}