//CHRIS ALESSANDRO AGURCIA ELVIR
//080120030867
#include <LiquidCrystal.h>
#include <DHT.h>
#include <Servo.h>
#define DHTPIN 2
#define DHTTYPE DHT22
#define TRIG 3
#define ECHO 4
#define LED 5
#define BUZZER 6
Servo servo;
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
DHT dht(DHTPIN, DHTTYPE);
long duracion;
int distancia;
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(LED, OUTPUT);
pinMode(BUZZER, OUTPUT);
servo.attach(13);
servo.write(0);
lcd.begin(16, 2);
dht.begin();
}
void loop() {
float temperatura = dht.readTemperature();
float humedad = dht.readHumidity();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp:");
lcd.print(temperatura);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Hum:");
lcd.print(humedad);
lcd.print("%");
if(temperatura > 35 || humedad < 35){
digitalWrite(LED, HIGH);
tone(BUZZER, 1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ALERTA");
lcd.setCursor(0,1);
lcd.print("AMBIENTAL");
delay(2000);
noTone(BUZZER);
}else{
digitalWrite(LED, LOW);
}
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
duracion = pulseIn(ECHO, HIGH);
distancia = duracion * 0.034 / 2;
if(distancia < 10){
servo.write(90);
String mensaje = "Acceso Autorizado CHRIS AGURCIA ";
for(int i=0; i<mensaje.length(); i++){
lcd.clear();
lcd.setCursor(0,0);
lcd.print(mensaje.substring(i));
delay(300);
}
delay(3000);
servo.write(0);
}
delay(500);
}