#include <Servo.h>
Servo puerta;
const int trig = 14;
const int echo = 15;
const int dormitorio1 = 2; //constante
const int dormitorio2 = 3;
const int pir = 12;
const int buzzer = 16;
long distancia = 0;
long duracion = 0;
int lectura = 0; //variable
int sw = 0;
void setup() {
//puerta.attach(23,650,2550);//fisico
puerta.attach(23); //wokwi, mg90,s3003,mg995 996
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(dormitorio1,OUTPUT);
pinMode(dormitorio2,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(pir,INPUT);
Serial.begin(9600);
puerta.write(90);
}
void loop() {
SistemaDeAlarma();
SistemaAutomatico();
}
void SistemaDeAlarma(){
lectura = digitalRead(pir);
if(lectura == 1){
digitalWrite(dormitorio1,1);
digitalWrite(dormitorio2,1);
tone(buzzer,262);
sw=1;
}
else{
digitalWrite(dormitorio1,0);
digitalWrite(dormitorio2,0);
noTone(buzzer);
}
if(sw==1){
Serial.println("Alarma! - Intrusos en la casa");
sw=0;
delay(5000); //wowki
}
}
void SistemaAutomatico(){
digitalWrite(trig,0);
delayMicroseconds(2);
digitalWrite(trig,1);
delayMicroseconds(10);
digitalWrite(trig,0);
duracion=pulseIn(echo,1); //83333
distancia=duracion/58;
if(distancia < 15){
puerta.write(180);
}
else{
puerta.write(90);
}
}