Contact us: +511 955-6789

Tutorial para hacer una Alarma de Puerta Abierta + Mandar E-Mail con Arduino

Hola electrónicos, en esta oportunidad hemos seleccionado un proyecto que, además de ser de utilidad en innumerables ocasiones, promete ser muy divertido de completar, ya que vamos a utilizar un concepto bastante novedoso llamado “el internet de las cosas” (IoT).

Materiales

1. Potenciómetro.
2. Imán.
3. Sensor hall.
4. Arduino.
5. Resistencias de 1k y 2,2k.

 

Objetivos

Para este proyecto usaremos un detector digital que enviará un valor booleano dependiendo del estado de la puerta. Para esto, colocaremos un sensor hall en la puerta y un imán en el marco.

El consumo de energía es muy bajo, ya que mientras la puerta esté cerrada, entraremos en un modo de suspensión que disminuirá significativamente dicho consumo.

 

Cuando la puerta se abra, el arduino y el sensor saldrán de ese modo de suspensión, lo cual hace que este método tenga algo de retraso, ya que el sensor debe reiniciarse cada vez que sale de ese modo,

pero después de unos cuantos segundos se activará la alarma y se enviará un nuevo correo electrónico para notificar el suceso.

También crearemos una base de datos, que almacenará la información suministrada por el Arduino, en este caso, el estado actual de la puerta. Dicho estado se mostrará en una página web, por lo que también repasaremos cómo crearla de manera gratuita.

Conexiones

Este es el esquema del proyecto.

Puedes intentar quitar los leds del arduino y cualquier otra resistencia innecesaria para reducir el consumo de energía, en caso de que quieras usar baterías como fuente de alimentación.

Conecta el los pines RX y TX del sensor a los pines D6 y D7 respectivamente, tal como lo indica el esquema y además usa un divisor de voltaje de 12v a 2v.

 

Conecta una resistencia de pull up al pin de reset del ESP8266 y el otro extremo al pin digital D12.

Luego, conecta el sensor hall a 5 voltios y tierra,

y conecta la salida a la entrada analógica A0 del arduino.

Con esto basta para terminar la configuración del sensor, ahora vamos con la página web.

Alarma Web

En este tutorial presentaremos cómo hacer una alarma web que nos indicará si la puerta se ha abierto o no, por lo tanto necesitaremos un sitio web y una base de datos en dónde mostrar y alojar nuestra información.

A continuación explicaremos el procedimiento para configurar tu propio sitio web y base de datos de manera gratuita.

Creación de Sitio web gratuito

El siguiente procedimiento se explica en el Tutorial para crear un Servidor ESP8266 para Controlar Arduino por Internet.

Si no tienes en donde alojar tu sitio web, recomiendo que crees una cuenta en 000webhost.com


Una vez creada tu cuenta, no olvides revisar tu correo electrónico y confirmarlo.


Luego, crea tu sitio web, debes seleccionar que quieres subir un sitio ya existente, ya que luego te proporcionaré los archivos php necesarios.

Una vez creada la página, vamos a crear una nueva base de datos.

Creación de Base de datos gratuita

Ingresa a tu cuenta en 000webhost con tu correo y contraseña. Selecciona “administrar sitio”.

Una vez dentro tenemos que hacer clic en herramientas, seleccionamos administrador de base de datos,

hacemos clic en “nueva base de datos” y finalmente colocamos el nombre de la base de datos, el nombre de usuario y la contraseña.

Luego, selecciona “phpmyadmin” tal como lo indica la imágen.

Acá debemos crear una tabla para almacenar nuestra información, selecciona tu base de datos.

Crea una tabla con 5 columnas de tipo entero: id, PASSWORD, SENSOR_VALUE, THRESHOLD y ALARM_STATUS. Dale a sus valores el nombre y las propiedades como indica la siguiente imágen. De lo contrario, no funcionará.

Ahora debemos insertar al menos un id de usuario y una contraseña.

Código PHP

Descarga los archivos necesarios para seguir en el siguiente link.

Para que puedas usarlos con tu propia base de datos tendrás que hacer unas pequeñas modificaciones en cada uno. Yo uso Dreamviewer pero puedes usar uno gratuito como Visual Studio Code, Sublime text o Notepad++.

Descomprime el archivo .zip que acabas de descargar y abre el archivo .php llamado “change_SQL.php” con tu editor de código favorito.

Coloca los datos de tu servidor, tu base de datos y el nombre de la tabla recién creada en las partes del código indicadas por la siguiente imágen.

Ahora debemos hacer lo mismo para el archivo llamado “RX.php”.

Coloca los datos de tu servidor, tu base de datos y el nombre de la tabla recién creada en las partes del código indicadas por la siguiente imágen.

También debes colocar el nombre de la tabla y tu correo electrónico en las siguientes lineas de código:

Finalmente abrimos el archivo llamado “index.php”.

Coloca los datos de tu servidor, tu base de datos y el nombre de la tabla recién creada en las partes del código indicadas por la siguiente imágen.

Ahora sube la carpeta que contiene los archivos al directorio de tu sitio web. El nombre de dicha carpeta puede ser por ejemplo “puerta-abierta”.

Una vez subida la carpeta, tu página se debería ver al llamar con la siguiente dirección tudominio.com/puerta-abierta.

En caso de que te dé algún error al conectar la base de datos, verifica que el usuario del servidor y la contraseña sean correctos.

Código Arduino

Descomprime el archivo .zip que acabas de descargar y abre el archivo .ino llamado “NOOBIX_V1_ISR.ino”.

Lo primero que debemos hacer es cambiar las siguientes lineas de código con el nombre y contraseña de tu wifi.

Luego cambiamos el dominio por el tuyo, pero sin incluir las “www”. Luego lo vuelves a colocar pero esta vez con las “www”. En la imágen se indica que también debes colocar el id y la contraseña de la tabla.

Si compilamos el código en este momento, tendríamos el siguiente error, ya que la biblioteca de softwareSerie no es compatible con la biblioteca de suspensión.

Así que para eso buscamos la biblioteca de softwareSerie en tu pc, la cual por lo general se encuentra en la siguiente dirección: Archivos de programa/Arduino/hardware/arduino/avr/libraries/SoftwareSerial.

Pero primero es recomendable hacer una copia de seguridad de la carpeta de SoftwareSerie en caso de que la estropeemos.

Luego, abre el archivo llamado “SoftwareSerial.cpp” con derechos de administrador, busca y elimina las siguientes líneas:

 

Estos vectores estaban en conflicto con la biblioteca de suspensión. Una vez guardado el archivo podemos volver a compilar y, si todo está correcto podremos cargar el código al arduino.

Ahora quiero explicar el funcionamiento del código: primero creamos la url que se enviará al archivo rx.php y contendrá el id, la contraseña y el valor del sensor.

Luego usamos la función GET y lo enviamos al sitio web.

El resto se hace en el archivo rx.php, el cual recibe la URL y obtiene el id, la contraseña y el valor del sensor.

Si el valor del sensor es mayor que d1, que en este caso d1 es igual al valor del umbral, enviamos un correo a la dirección que cambiamos anteriormente.

Ahora bien, si quieres que la información se actualice más frecuentemente, prueba el código que te dejo en el siguiente link, el cual no usa la suspensión para el ahorro de la batería, pero a cambio de eso, actualiza cada dos segundos.

Espero hayas entendido todo correctamente, saludos!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

2 × 4 =

Navigation

MY CART

Close

No products in the cart.

No products in the cart.