Si estás preocupado por la seguridad de tu vivienda y no puedes permitirte el lujo de pagar un costoso sistema de alarma profesional, puedes crearte tu propia alarma barata y sencilla gracias a Arduino. En este tutorial te explicaremos como crear una alarma muy simple que es capaz de detectar cuando se abre una puerta o ventana y emitir un sonido.
Si no estás muy familiarizado con Arduino, te proponemos que mires el post de la semana pasada en el que hicimos una introducción a este sistema que seguro te encantará.
Materiales
- Placa Arduino UNO.
- El software Arduino IDE.
- Sensor magnético de alarma para puerta o ventana (puedes encontrarlo en comercios chinos o en tiendas de electrónica).
- Pilas para el sensor magnético.
- Resistencia de 10K ohmios.
- Cable de cobre de un solo hilo rígido.
- LED Rojo.
Procedimiento
Para montar nuestra alarma, seguiremos los siguientes pasos. Pero primero me gustaría explicarte un poco como va el sensor. Vemos que el sensor magnético consta de dos partes, una grande donde se encuentra el altavoz, pilas y circuito que se detona en caso de abrir la puerta o ventana y otra parte más pequeña que es un imán. Estas partes debemos colocarlas unidas en la puerta o ventana donde queramos poner la alarma, el fabricante dará las instrucciones de montaje oportunas, pero básicamente se trata de colocar la parte más grande de tal forma que esté en contacto con la pequeña y la pequeña esté pegada a la puerta o ventana de tal forma que cuando se abra, ambas partes se separen y detonen la alarma.
Una vez entendemos como funciona el sensor, vamos a conectar dos cables (de un solo hilo con los extremos desnudos del material aislante para que hagan contacto) con los bornes positivo y negativo de la caja donde se alojan las baterías del sensor magnético. Para ello deberemos quitar los tornillos de la parte más grande del sensor y conectarlo de una manera sencilla.
Dichos cables se puentean con la resistencia de 10k, es decir, se unen sus extremos utilizando la resistencia. Y del lado negativo de la resistencia (donde hayamos conectado el cable que viene del extermo negativo de las pilas del sensor) sacamos una conexión para conectarla al pin GND de la placa Arduino. En la imagen he representado dicha parte del sensor con la figura de un altavoz para simplificarlo, pero debes saber que se trata de la parte mayor del conjunto del sensor magnético.
Como tienes abierta la carcasa del sensor magnético, veras que en el circuito hay una especie de elemento alargado similar a una resistencia plateada (es un interruptor de lengüeta). Es inconfundible, ya que el circuito del sensor es bastante simple. También es sencillo de verificar que es el elemento correcto puesto que tiene uno de sus extremos conectados al borne negativo de las baterías. Pues bien, haremos una conexión con otro cable de hilo único al extremo que no va conectado al terminal negativo de las pilas y lo uniremos al pin digital número 2 de Arduino.
Ahora colocaremos el LED rojo con su ánodo (terminal más largo) al pin número 13 de la placa Arduino (E/S digitales). El cátodo del LED irá a la conexión GND cercana al pin 13. El montaje es muy sencillo. Si en vez del LED queremos conectar cualquier otro dispositivo, puedes echarle imaginación (cámara que realice una fotografía, luz, módulo GSM para realizar una llamada, etc).
Por último solo nos queda crear el sketch para programar Arduino. Para ello, una vez instalado Arduino IDE, escribiremos este código y una vez terminado y con la placa Arduino conectada al PC por USB, pasaremos el sketch haciendo clic en el botón que tiene forma de flecha hacia la derecha (Cargar). En ese momento podremos comprobar su funcionamiento.
//Esquema para nuestra alarma simple con Arduino
const int sensorpin = 2; //Especificamos que el sensor ira unido al pin 2
const int ledpin = 13; //El pin 13 ira destinado para el LED
int estadosensor = 0; //Especificamos el estado inicial del sensor (apagado)
void setup()
{
pinMode(ledpin, OUTPUT); //Marcamos el pin del LED como salida
pinMode(sensorpin, INPUT); //El pin del sensor debe ser una entrada
}
void loop(){
estadosensor = digitalRead(sensorpin); //Leer el estado del sensor
//Si el estado es alto, es decir, si esta activado se encendera el LED de alarma
if (estadosensor == HIGH) {
digitalWrite(ledpin, HIGH);
}
else { //Mientras el sensor este apagado el pin estara apagado
digitalWrite(ledpin, LOW);
}
}
Para no depender del PC, podemos conectar la placa Arduino a una fuente de alimentación externa o utilizar pilas. Así el prototipo seguirá funcionando sin necesidad de la conexión USB y de forma independiente.