//any carolina mejia melendez
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <Servo.h>
#define DHTPIN 2
#define DHTTYPE DHT22
LiquidCrystal_I2C lcd(0x27,16,2);
DHT dht(DHTPIN,DHTTYPE);
Servo servo;
const int trigPin = 3;
const int echoPin = 4;
const int led = 6;
const int buzzer = 8;
void setup() {
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(led,OUTPUT);
pinMode(buzzer,OUTPUT);
servo.attach(5);
servo.write(0);
dht.begin();
lcd.init();
lcd.backlight();
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp:");
lcd.print(t);
lcd.setCursor(0,1);
lcd.print("Hum:");
lcd.print(h);
if(t > 35 || h < 35){
digitalWrite(led,HIGH);
tone(buzzer,1000);
lcd.clear();
lcd.print("ALERTA");
lcd.setCursor(0,1);
lcd.print("AMBIENTAL");
delay(2000);
}else{
digitalWrite(led,LOW);
noTone(buzzer);
}
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
long duracion = pulseIn(echoPin,HIGH);
float distancia = duracion * 0.034 / 2;
if(distancia < 10){
servo.write(90);
String mensaje =
"Acceso Autorizado Any Carolina ";
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);
}