#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);
  }
}
$abcdeabcde151015202530354045505560fghijfghij