Introduction: Mini Alarma PIR Arduino

Saludos a todos!
Debo comenzar diciendo de que este es mi primer instructable y está totalmente dedicado a la página Databugs (donde yo participo). Diciendo lo anterior no me quise aventurar a hacerlo en ingles aun, por otro lado es probable que siga subiendo algunos instructables simples (en un comienzo) pues considero que igual pueden ser útil al estar en español.

Bueno, el proyecto actual es una pequeña alarma que se basa, básicamente, en un sensor PIR (Passive infrared sensor), un buzzer y un controlador como Arduino.

La idea del proyecto es crear una alarma lo más simple y pequeña posible, de forma de poder utilizarla en casi cualquier lugar (conectada por USB o por batería). Por otro lado pretendo que el precio sea lo más barato posible, por lo que, si bien en un comienzo es un prototipo con un Arduino Nano, luego pretendo cambiarlo por un Attiny85 para reducir costo y espacio.

El funcionamiento se verá en los siguientes pasos.

Espero que este instructable le ayude a más de alguno y estoy dispuesto a resolver cualquier duda :).

Step 1: Componentes Y Diagramas

Los componentes que utilice en este proyecto son:

** prototipo **

-2 mini protoboard

-1 Arduino nano

-1 boton

-1 LED rojo y 1 LED azul

-1 Buzzer de 5V

-1 Sensor de movimiento (PIR)

-3 resistencias de 1k

-cables

Si bien no lo menciono, tuve que ocupar un adaptador para que el sensor PIR entrara bien en la mini protoboard, pero puedes usar cables duport.

El diagrama de conexión es el colocado en la imagen, al no usar PWM puedes ajustar a tu gusto las configuraciones y usar, en realidad, cualquier pin de OUT que gustes. Puedes usar tambien cualquier Arduino que quieras.

Step 2: Código Arduino Y Funcionamiento

El funcionamiento de esta alarma se separa en 4 etapas
principales (-1, 0, 1, 2).

Internamente el programa trabaja con una variable "estado" que almacena en cuál de los 4 estados se encuentra el dispositivo.

Un "problema" que posee este sensor PIR es que, si se alimenta por primera vez luego de un tiempo considerable, el sensor tarda un tiempo en funcionar como corresponde, yo me inclino a pensar que se debe a que carga los capacitores que posee (que no son pequeños 22uF), de todos modos no tardara más de 20 segundos en funcionar correctamente. Por otro lado si el dispositivo se enciende y apaga durante poco tiempo, este tiempo de espera inicial es menor o incluso nulo.

De lo anterior es que he creado un estado inicial -1 en donde se obliga al usuario a esperar 20 segundos para que PIR funcione bien, durante ese tiempo ambos LEDs (azul y rojo) están encendido y el buzzer apagado. No lo incluí, pero uno podría dar la opción de que, con el botón, uno pueda saltarse esta etapa sabiendo que el PIR no necesita un tiempo de espera (caso dicho anteriormente).

Una vez transcurre este tiempo entonces se pasa a la etapa 0 (alarma apagada), en donde ambos LEDs están apagados. En esta etapa se espera que el usuario pulse el botón para inicializar el funcionamiento de la alarma.

Al presionar el botón lo que ocurre es que la alarma te da un tiempo para alejarte y, luego de eso, se mantiene activa atenta a cualquier movimiento. Entonces al pulsar pasamos a la etapa 1 donde el LED azul se enciende y el rojo se apaga, en este momento uno debería alejarse de la alarma pues aún está inactiva. Luego de 6 segundos la alarma se activa pasando al estado 2, donde se apagan ambos LEDs y, ante alguna perturbación, el buzzer emitirá un fuerte sonido intermitente acompañado del LED rojo encendido.

La alarma solo se va a desactivar si apagamos el dispositivo o si presionamos el botón, en donde pasar de la etapa 2 a la 0, volviendo a un ciclo para volver a utilizar la alarma nuevamente (no pasamos a -1 pues el PIR ya tuvo su tiempo de espera al encender el dispositivo).

Todo lo anterior se puede observar en el código, donde puedes ajustar todos los parámetros a tu gusto.

Step 3: Video Y Conclusiones

En el video se puede ver claramente el funcionamiento de la alarma (omití grabar la etapa -1). Hay que tener en cuenta la orientación del sensor PIR. Si bien en el video el Arduino está conectado a un PC, también hice la prueba con una batería Lipo 1S obteniendo el mismo resultado.
Video: Video mini alarma PIR

En un futuro planeo realizar una versión más compacta de esta alarma usando un Attiny85, una batería Lipo 1S (con cargador) y una caja plástica. Quizás lo haga en otro instructable pues también debo realizar pruebas de consumo además de construir un circuito en una placa de cobre con un nuevo diseño considerando el Attiny85.

Como mencione antes este es mi primer instructable y espero comentarios para saber en qué mejorar tanto del proyecto como de la manera en que este instructable está hecho. Espero se haya entendido y cualquier duda la puedo responder en los comentarios.

Me despido y un saludo desde Databugs :)