TU PROPIA ALARMA EN ARDUINO - Arduino



 ¿Alguna vez has querido crear dispositivos inteligentes para tu casa?

Hoy va a ser el día en el que lo puedes hacer. A través de este tutorial, te enseñaré cómo hacer una alarma que suene cuando detecta movimiento cercano humano (cosa muy importante), con la placa Arduino y su aplicación como programador, Arduino IDE.

MATERIALES

Lo primero es lo primero. Antes de crear nada, necesitamos unos materiales. Como todo lo relacionado con Arduino (y no exótico), son bastante baratos. A continuación, una lista de ellos:

-Placa Arduino (Puede ser Elegoo u original. Funcionan de la misma manera, lo único que varía es su calidad).


-Zumbador/buzzer.


-Sensor PIR (Sensor Infrarrojo Pasivo, Passive Infrared Sensor)

-LED. Preferiblemente rojo, ya que es el color más indicado para indicar el salto de alarma.

*Además, deberemos contar con una resistencia, así como con varios cables.

MONTAJE


Antes de ponernos a recrear este montaje, echémosle un vistazo y veamos qué nos dice:

-Los cables rojos hacen referencia a los conectados a 5V (corriente), los negros a GND (tierra, cierra-circuito) y los grises a pines digitales. Todos los cables han de ser de tipo macho-hembra, ya que hay que conectarlos directamente a los componentes.

-El sensor PIR está conectado a 3 pines. Algunos modelos de este sensor incluyen las letras de adónde ha de ir conectada cada salida al levantar la tapa. El izquierdo en la imagen está conectado a GND (tierra, 0V), para poder cerrar el circuito de forma correcta; el de en medio está conectado a 5V, para dar la energía al sensor que necesita para funcionar, y así poder detectar movimiento y el de la derecha está conectado al pin digital 13, el pin de salida (se puede conectar al pin digital que quieras, pero en nuestro programa lo conectaremos al 13, lo cual tendrá repercusiones en el código final).

-El zumbador o buzzer está conectado a 2 pines. Algunos modelos tienen escrito en la parte inferior un + y un -, haciendo referencia a los pines que han de ir conectados. En el caso de la imagen: el pin de la derecha está conectado al pin digital 12, el pin de alimentación (se puede conectar al pin digital que quieras, pero en nuestro programa lo conectaremos al 12, lo cual tendrá repercusiones en el código final) y el de la izquierda está conectado a GND, tierra, 0V, para cerrar el circuito de forma correcta.

-El LED está conectado a 2 pines. El ánodo (pata más larga) ha de ir conectado a la alimentación, en este caso, como queremos que se pueda encender y apagar, lo conectaremos a un pin digital, en la imagen, está conectado al pin 7, lo que tendrá repercusiones en el código final, pero como hemos dicho, se puede conectar a cualquier pin digital. El cátodo era conectado a GND para cerrar el circuito.

PROGRAMACIÓN







Como es costumbre, explicaremos el código línea por línea:

1. Crea una variable de tipo int (integer, nº entero) llamada pinPIR, que hará referencia al pin de conexión del sensor PIR. En este caso, le asignamos el número 13 (aquí debes poner al que tú lo hayas conectado durante el montaje).

2. Crea una variable de tipo int llamada pinBuzzer, que hará referencia al pin de conexión del zumbador/buzzer. En este caso, le asignamos el número 12 (aquí debes poner al que tú lo hayas conectado durante el montaje).

3. Crea una variable de tipo int llamada led, que hará referencia al pin de conexión del LED. En este caso, le asignamos el número 12 (aquí debes poner al que tú lo hayas conectado durante el montaje).

4. Crea una variable a modo de contador de tipo int llamada wait, que hará referencia al contador de duración de la alarma, presente en las líneas 14 y 15.

5. Crea una variable de tipo int llamada estAlarma, que hará referencia al estado de la alarma en todo momento:
Si está en 0, significa que no está sonando.
Si está en 1, significa que está sonando.

6. Comenzamos el "setup" del programa con la instrucción void setup().

7. Establecemos el pin del sensor PIR, designado con la variable pinPIR como entrada (INPUT).

8. Establecemos el pin del LED, designado con la variable led como salida (OUTPUT).

9. Comenzamos la parte principal del programa y por siempre repetida con la instrucción void loop ().

10. Retrasamos el comienzo 10 000 milisegundos, es decir, 10 segundos. Esto es a elegir, es el tiempo que nos dará la alarma (desde que se conecte o desde que reseteemos la placa) para abandonar el cuarto y que no nos salte.

11. Hacemos un condicional doble. Solo ejecutará la línea 12 en el caso de que la salida de pinPIR sea HIGH (es decir, que el sensor PIR detecte movimiento) y estAlarma en ese momento sea 0 (no esté activa).

12. Encenderemos la alarma, es decir, establecemos la variable estAlarma a 1, para activarla. Esto solo ocurrirá si se dan las condiciones del paso 11.

13. Hacemos otro condicional doble. Solo ejecutará las líneas 14 y 15 (esta última dependerá de la 15), en el supuesto de que se den las siguientes condiciones:
-La salida de pinPIR sea LOW, es decir, el pinPIR no detecte movimiento.
-El estado de la alarma sea 1, es decir, la alarma esté activa.

14. Esperará tantos segundos como pongamos, pues al terminar la espera se ejecutará la línea 15. Debido a esta instrucción se puede crear un bucle, dado que el sensor PIR trabaja por periodos de 3 segs., entonces, cuando el sensor PIR detecte movimiento, tardará 3 segundos en dejar de detectarlo, y 3 segundos en volver a activarse en el supuesto de que siga habiendo movimiento, poniendo aquí un delay de 3 segundos como mínimo, conseguiríamos que solo dejase de sonar cuando no haya movimiento.

15. Estableceremos la variable estAlarma a 0, es decir, la desactivaremos después de la espera de la línea 14.

16. Hacemos otro condicional doble. Esta vez designamos lo que hará cuando la alarma esté activa (líneas 17 y 18). Tan solo se tiene que dar la condición de que el estAlarma sea 1, es decir, que esté activa.

17. Con esta instrucción haremos que el zumbador suene. Asignamos el pin del zumbador y el tono al que queremos que suene, 3000 es un buen tono, tiene un suficiente volumen y concuerda con una nota aceptable.

18. Enciende el LED. Establece el pin del LED como HIGH.

19. En el caso de que no se de la condición de la línea 16, es decir, que la alarma esté desactivada, se ejecutarán las líneas 20 y 21.

20. Con esta instrucción haremos que el zumbador no suene. Asignamos el pin del zumbador.

21. Apagamos el LED. Establece el pin del LED como LOW.



Recomiendo unos artículos para saber más sobre estos componentes:

Y esto es todo, no deja de ser un prototipo, por lo que, si te ha gustado, podrías montarlo más profesionalmente y conseguir una alarma profesional. Si has conseguido hacerlo o si tienes alguna duda, escribe en los comentarios, enseguida te contestaré. Además, si no has conseguido entender bien este artículo o te gustaría aprender más, próximamente publicaré en este blog unas guías de Arduino.

Comentarios

Publicar un comentario