Tabla de contenido:

Sistema de seguridad telefónica con Arduino: 5 pasos
Sistema de seguridad telefónica con Arduino: 5 pasos

Video: Sistema de seguridad telefónica con Arduino: 5 pasos

Video: Sistema de seguridad telefónica con Arduino: 5 pasos
Video: SISTEMA DE SEGURIDAD PARA EL HOGAR - TINKERCAD | ARDUINO 2024, Noviembre
Anonim
Sistema de seguridad telefónica con Arduino
Sistema de seguridad telefónica con Arduino

Tu casa quedará desprotegida si no aplicas este proyecto. Este proyecto lo ayudará a activar una alarma a través del teléfono celular cuando un intruso ingrese a su casa.

De esa forma, si utilizas este proyecto, recibirás un SMS vía celular y podrás mantener tu casa protegida en caso de invasiones.

Para ello, utilizaremos la placa compatible con Arduino con el módulo SIM800L y el sensor PIR. El sensor PIR se encargará de detectar la presencia de un intruso y el SIM800L se encargará de enviar un SMS de alerta al propietario de la vivienda.

Suministros

  • Placa compatible con Arduino
  • Sensor PIR
  • Resistencia 10kR
  • Jerséis
  • Protoboard
  • Módulo SIM800L

Paso 1: El corazón del proyecto

El corazón del proyecto es el módulo SIM800L. Este módulo podrá recibir comandos de Arduino y enviar SMS al teléfono celular del usuario. De esa forma, cuando el usuario recibe la alerta, puede llamar a la policía o realizar cualquier otro tipo de acción.

La placa compatible con Arduino se encargará de comprobar el estado del sensor y luego enviará un mensaje de alerta al usuario si detecta la presencia de un intruso.

Este proceso se realiza gracias a los comandos de control entre el Arduino y el Módulo SIM800L. Por eso, a partir de ahí, te presentaremos paso a paso para que construyas este sistema, dejes tu casa protegida y te avise siempre que algún intruso la invada.

Si desea descargar la placa compatible con Arduino, puede acceder a este enlace y obtener los archivos para comprar sus placas en JLCPCB.

¡Ahora, comencemos!

Paso 2: El circuito electrónico del proyecto y la programación

El circuito electrónico del proyecto y la programación
El circuito electrónico del proyecto y la programación
El circuito electrónico del proyecto y la programación
El circuito electrónico del proyecto y la programación

Primero, pondremos el circuito electrónico disponible y luego discutiremos el código del proyecto paso a paso para usted.

#incluye el chip SoftwareSerial (10, 11);

String SeuNumero = "+5585988004783";

#define sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

configuración vacía ()

{Serial.begin (9600); Serial.println ("Inicializando Sistema…"); retraso (5000); chip.begin (9600); retraso (1000);

pinMode (sensor, ENTRADA); // Configura o Pino do Sensor como Entrada

}

bucle vacío ()

{// Le o valor do pino do sensor ValorAtual = digitalRead (sensor);

si (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert; ValorAnterior = 1; }

si (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude (); ValorAnterior = 0; }

}

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa

{chip.println ("AT + CMGF = 1"); retraso (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); retraso (1000); String SMS = "¡Alerta de intrusión!"; chip.println (SMS); retraso (100); chip.println ((carácter) 26); retraso (1000); }

void NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal

{chip.println ("AT + CMGF = 1"); retraso (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); retraso (1000); String SMS = "¡No más intrusos!"; chip.println (SMS); retraso (100); chip.println ((carácter) 26); retraso (1000); }

En el código que se muestra a continuación, inicialmente declaramos la biblioteca de comunicaciones en serie SoftwareSerial.h, como se muestra a continuación.

#incluir

Después de definir la biblioteca, se definieron los pines de comunicación Tx y Rx. Estos pines son pines alternativos y se utilizan para permitir la comunicación en serie en otros pines de Arduino. La biblioteca SoftwareSerial se desarrolló para permitirle utilizar el software para replicar la funcionalidad

Software Chip de serie (10, 11);

Después de esto, el número de teléfono celular que se declaró se muestra a continuación.

String SeuNumero = "+5585988004783";

El esquema de diseño electrónico es simple y fácil de montar. Como puede ver en el circuito, la placa compatible con Arduino es responsable de leer el estado del sensor y luego enviar un SMS al propietario de la casa.

El mensaje se enviará si se detecta un intruso dentro de la casa. El sensor PIR (infrarrojo pasivo) es un sensor que se utiliza para detectar el movimiento de la señal de infrarrojos. Desde la señal enviada al Arduino, el módulo SIM800L enviará un mensaje al usuario.

El diodo se utilizará para proporcionar una caída de voltaje para alimentar el módulo SIM800L. Dado que el módulo no se puede alimentar con 5V. De esta forma, llegará un voltaje de 4,3V para alimentar tu módulo y garantizar que funcione de forma segura.

Paso 3: La función de configuración de vacío ()

En la función de configuración de vacío, inicializaremos la comunicación en serie y configuraremos el pin del sensor como entrada. La región del código se presenta a continuación.

configuración vacía ()

{

Serial.begin (9600); Serial.println ("Inicializando Sistema…"); retraso (5000); chip.begin (9600); retraso (1000); pinMode (sensor, ENTRADA); // Configura o Pino do Sensor como Entrada}

Como es posible ver, se inicializaron las dos comunicaciones seriales. El Serial.begin se utiliza para inicializar la serie nativa de Arduino y el chip.begin es la serie emulada a través de la biblioteca SoftwareSerial. Después de esto, lo haremos para la función de bucle vacío.

Paso 4: El proyecto y la función de bucle vacío

El proyecto y la función de bucle vacío
El proyecto y la función de bucle vacío
El proyecto y la función de bucle vacío
El proyecto y la función de bucle vacío

Ahora, presentaremos la lógica principal de la programación en la función de bucle vacío.

bucle vacío () {// Le o valor del pino del sensor ValorAtual = digitalRead (sensor);

si (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert ();

ValorAnterior = 1;

}

si (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Primero, la señal del sensor de presencia PIR se leerá como se muestra a continuación.

ValorAtual = digitalRead (sensor);

Posteriormente se verificará si el valor en la variable ValorAtual es 1 o 0, como se muestra a continuación.

if (ValorAtual == 1 && ValorAnterior == 0) {IntrudeAlert ();

ValorAnterior = 1;

} if (ValorAtual == 0 && ValorAnterior == 0) {NoMoreIntrude ();

ValorAnterior = 0;

}

Si la variable ValorAtual es 1 y las variables ValorAnterior es 0, el sensor en realidad está activado y anteriormente está desactivado (ValorAnterior == 0). De esta forma se ejecutará la función y el usuario recibirá el mensaje en su celular. Después de esto, el valor de la variable ValorAnterior será igual a 1.

De esta forma, la variable ValorAnterior será señalizada de que se activa el estado actual del sensor.

Ahora, si el valor de la variable ValorAtual es 0 y el valor de la variable ValorAnterior es igual a 0, el sensor no detecta intrusión y luego se activa su valor.

De esta forma, el sistema enviará el mensaje para el celular del usuario y actualizará el valor real del sensor por 0. Este valor indicará que el sensor no está activado en ese momento.

Los mensajes que se enviaron para el usuario se presentan arriba.

Ahora, aprenderemos cómo funciona la función para enviar los mensajes para el teléfono celular del usuario.

Paso 5: Funciones para enviar mensajes

En este sistema, hay dos funciones. Son funciones con la misma estructura. La diferencia entre ellos es el nombre y el mensaje enviado, pero cuando lo analicemos veremos que son completamente iguales.

A continuación, presentaremos la estructura completa de las funciones y discutiremos el código.

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT + CMGF = 1"); retraso (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); retraso (1000); String SMS = "¡Puerta abierta!"; chip.println (SMS); retraso (100); chip.println ((carácter) 26); retraso (1000); }

void NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal

{chip.println ("AT + CMGF = 1"); retraso (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); retraso (1000); String SMS = "¡Puerta cerrada!"; chip.println (SMS); retraso (100); chip.println ((carácter) 26); retraso (1000); }

El módulo SIM800L usa el comando AT para controlar sus funciones. Por lo tanto, a través de estos comandos, enviaremos el mensaje al teléfono celular del usuario.

El AT + CGMF = 1 se utiliza para configurar el módulo para que funcione en el modo de texto SMS. Después de la demora, el sistema enviará el mensaje al usuario a través del siguiente comando.

chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r");

En el comando, el módulo SIM800L estará preparado para enviar un mensaje para el número de celular registrado en la cadena SeuNumero. Después de esto, el sistema cargará el mensaje en la cadena y enviará el teléfono celular del usuario, como se muestra a continuación.

String SMS = "¡Puerta cerrada!"; chip.println (SMS); retraso (100); chip.println ((carácter) 26); retraso (1000);

El char (26) se utiliza para señalar el final del mensaje. Este proceso de trabajo es similar para dos funciones para enviar un mensaje al usuario.

Expresiones de gratitud

Ahora, agradecemos el apoyo de JLCPCB para realizar este trabajo y, si estás interesado, accede al siguiente enlace y descarga la Placa Compatible Arduino.

Recomendado: