Alarma para vivienda

Podremos compartir las instalaciones domóticas que tenemos, así podremos dar ideas a otros compañeros del foro.
Avatar de Usuario
Electra
Mensajes: 102
Registrado: Mar Feb 12, 2019 9:10 pm
Ubicación: Albacete

Alarma para vivienda

Mensaje por Electra » Dom Feb 17, 2019 8:45 pm

Por Bulgrok

Buenas!,

Aquí dejo el proyecto que llevo a cabo, tened en cuenta que mis conocimientos de programación son nulos e igual no esta muy bien echo, pero por ahora las pruebas que he echo me ha funcionado.

Funciona como todas las alarmas, la conexión y desconexión la hago a través de un modulo RFID RC522, a parte tengo definidas dos funciones especiales, una para activar alarma y otra para desactiva alarma, así también lo puedo hacer desde la APP.

Al activarla suena un buzzer intermitente durante el tiempo de una consigna, al acabar este tiempo se conecta la alarma. Al detectar el PIR suena el buzzer continuo para desactivar la alarma durante un tiempo definido con otra consigna, si acaba el tiempo y no se ha desconectado suena una sirena y manda la notificación de intrusión al móvil. A la sirena le he puesto una duración máxima para que se pare al cabo de x minutos aunque la alarma seguiría conectada y si el PIR detectara otra presencia volvería a sonar.

A parte de esto con el PIR encendería la luz de la entrada si el nivel de luz medido con un LDR es inferior a la consigna que le pongamos. La activación del LDR la tengo con un condicionado por si salgo de casa y dejo al perro, que no este encendiéndose y apagándose la luz. Tengo que probar si poniendo la sensibilidad del PIR al mínimo detecta al perro o no, ya que es pequeño.

Dejo el rcc y la libreria del RFID. Se admiten mejoras y sugerencias, todo lo que sea mejorar y depurar el código es bienvenido.
Alarma.zip
La sirena es un circuito creado con el configurador, puedes elegir la salida si es disparada por high o low. El buzzer es un pin de salida, con analogwrite se activa y se puede cambiar el tono si se desea y con digitalwrite en low se desactiva.
¿Tienes reloj conectado? Si no lo tienes no te funcionará.
¿Has creado las Consignas? Con ellas puedes modificar el tiempo de activación y desactivación.

Jaime escribió:
¿Como has conectado los RFID a través del SPI?
Los pines son:
SS(sda)=6
RST=5
MOSI=51
MISO=50
SCK=52

En el rcc que puse se puede conectar y desconectar la alarma desde la app, con las funciones especiales 1 y 2. La 1 conecta y la 2 desconecta.

bobq escribió:
Ya he conseguido activar y desactivar la alarma con las tarjetas.

Lo que no me queda claro es lo de las alarmas y los pir.

Lo que me gustaria es que cuando la alarma este activada al detectar presencia el pin 23 me envie el mensaje o si se pasa una tarjeta incorrecta me envie el mesaje.
Gracias

Have a nice day

Lo de detectar presencia en el PIR con la alarma conectada y mandar la notificacion esta echo:

Código: Seleccionar todo

// ENCENDIDO DE SIRENA

if (tiempoff >=1){//Condicion circuito activado
if (tiempoff<=Consignas[1])//si el tiempo es menor que la consinga esperamos
   {tiempoff = tiempoff+1;} //Incrementamos value
else {tiempoff=0;
      digitalWrite(Buzzer,LOW);
      sirena=1;
      circuits[0].Value=1;
     [b] SetAlarm(0);[/b]
      Serial.println("INTRUSO, SIRENA SONANDO");} //Si value=consignas apagamos circuitos
}
Activa en la APP la notificacion nº 1. Cuando se desactiva la alarma se resetea la notificacion.

Para la otra notificacion mete en Void UserLoop:

Código: Seleccionar todo

// USUARIO INVALIDO

       if (access==false){
           Serial.println("Usuario invalido!"); 
            for(int j = 0; j < 4 ; j++)
                   {
                   digitalWrite(led_amarillo,LOW);
                   digitalWrite(led_rojo,HIGH);
                   analogWrite(Buzzer,1);
                   delay(100);
                   digitalWrite(led_rojo,LOW);
                   digitalWrite(Buzzer,LOW);
                   delay(100);
                   digitalWrite(led_amarillo,HIGH);
                   SetAlarm(1);
                   }
y en la funcion de // DESCONEXION DE ALARMA en void UserLoop, debajo de ResetAlarm(0), mete ResetAlarm(1); y en la app activa la notificacion 2.
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado