int codigo;
int estado;
int led1=5;
int led2=7;//azul
int bocina=6;
int sensor=A0;
int contra=1234;
int led9= 9;//casa, amarilla
int led10= 10;//espera para prender la casa
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(sensor, INPUT);
pinMode(bocina, OUTPUT);
Serial.begin(9600);
Serial.println("Esperar un tiempo antes de usar el sensor");
for(int i =0; i <= 10 ; i++){//Titila el led durante 10 segundos
digitalWrite(led10, HIGH); // Encender el LED
delay(500);
digitalWrite(led10, LOW); // Apaga el LED
delay(500);
}
Serial.println("Sensor listo");
}
void loop()
{
if(estado==false)
{
Serial.println("INGRESA CODIGO DE ACTIVACION");
codigo=Serial.parseInt();
if(codigo==contra)
{
Serial.println("ALARMA ACTIVADA");
estado=true;
}
}
if(estado==false)
{
if(digitalRead(sensor)==HIGH && estado==false)
{
Serial.println("MOVIMIENTO DETECTADO");
Serial.println("INGRESE EL CODIGO PARA ACTIVAR LA ALARMA");
if(estado==false)
{
digitalWrite(led9, HIGH); // Se activa el relay
delay(10000);
digitalWrite(led9, LOW);
Serial.println("Se desactiva");
codigo=Serial.parseInt();
if(contra==codigo)
{
Serial.println("ALARMA ACTIVADA");
noTone(bocina);
estado=true;
digitalWrite(led1, LOW);
}
delay(100);
}
}
}
if(estado==true)
{
codigo=Serial.parseInt();
if(codigo==contra)
{
Serial.println("ALARMA DESACTIVADA SIN MOVIMIENTO");
estado=false;
}
}
if(estado==true)
{
if(digitalRead(sensor)==HIGH && estado==true)
{
Serial.println("MOVIMIENTO DETECTADO");
Serial.println("INGRESE EL CODIGO PARA DESACTIVAR LA ALARMA");
while(estado==true)
{
tone(bocina,2500);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(1000);
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
codigo=Serial.parseInt();
if(contra==codigo)
{
Serial.println("ALARMA DESACTIVADA");
noTone(bocina);
estado=false;
digitalWrite(led1, LOW);
}
}
}
}
}