// Melanie Ferrera
// 0703199304122
// Examen ejercicio 3
#include <LiquidCrystal.h>
#include <DHT.h>
#include <Servo.h>
LiquidCrystal lcd(12,11,5,4,3,2);
#define DHTPIN 8
#define DHTTYPE DHT22
DHT dht(DHTPIN,DHTTYPE);
Servo servo;
int led = 7;
int buzzer = 6;
int trig = A0;
int echo = A1;
long duracion;
int distancia;
String mensaje = "Acceso Autorizado Melanie Ferrera ";
void setup() {
lcd.begin(16,2);
dht.begin();
pinMode(led,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
servo.attach(10);
servo.write(0);
}
void loop() {
float temperatura = dht.readTemperature();
float humedad = dht.readHumidity();
digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
duracion = pulseIn(echo,HIGH);
distancia = duracion * 0.034 / 2;
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(" %");
delay(1000);
if(temperatura > 35 || humedad < 35){
digitalWrite(led,HIGH);
digitalWrite(buzzer,HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ALERTA");
lcd.setCursor(0,1);
lcd.print("AMBIENTAL");
delay(1000);
digitalWrite(buzzer,LOW);
} else {
digitalWrite(led,LOW);
digitalWrite(buzzer,LOW);
}
if(distancia < 10){
servo.write(90);
for(int i = 0; i < mensaje.length(); i++){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Acceso");
lcd.setCursor(0,1);
lcd.print(mensaje.substring(i, i+16));
delay(300);
}
delay(3000);
servo.write(0);
}
delay(500);
}