Taula de continguts:

Sistema de seguretat telefònica amb Arduino: 5 passos
Sistema de seguretat telefònica amb Arduino: 5 passos

Vídeo: Sistema de seguretat telefònica amb Arduino: 5 passos

Vídeo: Sistema de seguretat telefònica amb Arduino: 5 passos
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Desembre
Anonim
Sistema de seguretat telefònica amb Arduino
Sistema de seguretat telefònica amb Arduino

La vostra llar estarà desprotegida si no apliqueu aquest projecte. Aquest projecte us ajudarà a activar una alarma a través del telèfon mòbil quan un intrús irromp a casa vostra.

D’aquesta manera, si utilitzeu aquest projecte, rebreu un SMS per telèfon mòbil i podreu mantenir la vostra llar protegida en cas d’invasions.

Per a això, utilitzarem la placa compatible Arduino amb el mòdul SIM800L i el sensor PIR. El sensor PIR serà l’encarregat de detectar la presència d’un intrús i el SIM800L s’encarregarà d’enviar un SMS d’alerta al propietari de la casa.

Subministraments

  • Taula compatible amb Arduino
  • Sensor PIR
  • Resistència 10kR
  • Saltadors
  • Protoboard
  • Mòdul SIM800L

Pas 1: el cor del projecte

El nucli del projecte és el mòdul SIM800L. Aquest mòdul podrà rebre ordres Arduino i enviar SMS al telèfon mòbil de l’usuari. D’aquesta manera, quan l’usuari rep l’alerta, pot trucar a la policia o realitzar qualsevol altre tipus d’acció.

La placa compatible Arduino serà l’encarregada de comprovar l’estat del sensor i, a continuació, enviarà un missatge d’alerta a l’usuari si detecta la presència d’un intrús.

Aquest procés es duu a terme gràcies a les ordres de control entre Arduino i el mòdul SIM800L. Per tant, a partir d’això, us presentarem pas a pas perquè pugueu construir aquest sistema, deixar la vostra casa protegida i avisar-vos sempre que algun intrús l’envaeixi.

Si voleu descarregar la placa compatible Arduino, podeu accedir a aquest enllaç i obtenir els fitxers per comprar els vostres taulers a JLCPCB.

Ara, comencem!

Pas 2: el circuit electrònic del projecte i la programació

El projecte Circuit electrònic i la programació
El projecte Circuit electrònic i la programació
El projecte Circuit electrònic i la programació
El projecte Circuit electrònic i la programació

En primer lloc, farem que el circuit electrònic estigui disponible i després parlarem del codi del projecte pas a pas.

#include SoftwareSerial chip (10, 11);

String SeuNumero = "+5585988004783";

#define sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

configuració nul·la ()

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

pinMode (sensor, INPUT); // Configura o Pino do Sensor com Entrada

}

bucle buit ()

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

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

{IntrudeAlert; ValorAnterior = 1; }

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

{NoMoreIntrude (); ValorAnterior = 0; }

}

void IntrudeAlert () // Funcao per enviar mensatges d'alerta Umidade Baixa

{chip.println ("AT + CMGF = 1"); retard (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); retard (1000); String SMS = "Introduïu una alerta!"; chip.println (SMS); retard (100); chip.println ((char) 26); retard (1000); }

void NoMoreIntrude () // Funcao per enviar mensatges d'alerta Umidade Normal

{chip.println ("AT + CMGF = 1"); retard (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); retard (1000); String SMS = "No més intrusió!"; chip.println (SMS); retard (100); chip.println ((char) 26); retard (1000); }

Al codi que es mostra a continuació, inicialment vam declarar la biblioteca de comunicacions en sèrie SoftwareSerial.h, tal com es mostra a continuació.

#incloure

Després de definir la biblioteca, es van definir els pins de comunicació Tx i Rx. Aquests pins són pins alterns i s’utilitzen per permetre la comunicació en sèrie en altres pins Arduino. La biblioteca SoftwareSerial es va desenvolupar per permetre-li utilitzar el programari per replicar la funcionalitat

Programari Xip sèrie (10, 11);

Després d'això, es mostra el número de telèfon mòbil a continuació.

String SeuNumero = "+5585988004783";

L’esquema de disseny electrònic és senzill i fàcil de muntar. Com podeu veure al circuit, la placa compatible Arduino s’encarrega de llegir l’estat del sensor i d’enviar un SMS al propietari de la casa.

El missatge s’enviarà si es detecta un intrús a l’interior de la casa. El sensor PIR (Passive Infra Red) és un sensor que s’utilitza per detectar el moviment des del senyal infraroig. Des del senyal enviat a l'Arduino, el mòdul SIM800L enviarà un missatge a l'usuari.

El díode s’utilitzarà per proporcionar una caiguda de tensió per subministrar el mòdul SIM800L. Atès que el mòdul no es pot alimentar amb 5V. D’aquesta manera, arribarà un voltatge de 4,3V per alimentar el mòdul i garantir que funcioni amb seguretat.

Pas 3: la funció Void Setup ()

A la funció de configuració del buit, inicialitzarem la comunicació en sèrie i configurarem el pin del sensor com a entrada. A continuació es presenta la regió del codi.

configuració nul·la ()

{

Serial.begin (9600); Serial.println ("Inicializando Sistema …"); delay (5000); chip.begin (9600); retard (1000); pinMode (sensor, INPUT); // Configura o Pino do Sensor com Entrada}

Com es pot veure, les dues comunicacions serials es van inicialitzar. El Serial.begin s’utilitza per inicialitzar el serial natiu de l’Arduino i el chip.begin és el serial emulat a través de la biblioteca SoftwareSerial. Després d'això, anirem per a la funció de bucle buit.

Pas 4: el projecte i la funció de bucle buit

El projecte i la funció de bucle buit
El projecte i la funció de bucle buit
El projecte i la funció de bucle buit
El projecte i la funció de bucle buit

Ara, presentarem la lògica principal de la programació en la funció de bucle buit.

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

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

{IntrudeAlert ();

ValorAnterior = 1;

}

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

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

En primer lloc, es llegirà el senyal del sensor de presència PIR tal com es mostra a continuació.

ValorAtual = digitalRead (sensor);

Després d'això, es verificarà si el valor de la variable ValorAtual és 1 o 0, com es mostra a continuació.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Si la variable ValorAtual és 1 i les variables ValorAnterior és 0, el sensor està activat i anteriorment desactivat (ValorAnterior == 0). D'aquesta manera, s'executarà la funció i l'usuari rebrà el missatge al telèfon mòbil. Després, el valor de la variable ValorAnterior serà igual a 1.

D’aquesta manera, la variable ValorAnterior serà senyalitzada que s’actua l’estat real del sensor.

Ara, si el valor de la variable ValorAtual és 0 i el valor de la variable ValorAnterior és igual a 0, el sensor no detecta cap intrusió i s’actua el seu valor.

D'aquesta manera, el sistema enviarà el missatge al mòbil de l'usuari i actualitzarà el valor real del sensor per 0. Aquest valor indicarà que el sensor no s'actua en aquest moment.

Els missatges enviats per a l'usuari es presenten més amunt.

Ara, aprendrem a treballar la funció per enviar els missatges al mòbil de l'usuari.

Pas 5: Funcions per enviar missatges

En aquest sistema, hi ha dues funcions. Són funcions amb la mateixa estructura. La diferència entre ells és el nom i el missatge enviat, però quan l’analitzem, veurem que són completament iguals.

A continuació, presentarem l'estructura completa de les funcions i discutirem el codi.

void IntrudeAlert () // Funcao per enviar mensatges d'alerta Umidade Baixa {chip.println ("AT + CMGF = 1"); retard (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); retard (1000); String SMS = "Porta oberta!"; chip.println (SMS); retard (100); chip.println ((char) 26); retard (1000); }

void NoMoreIntrude () // Funcao per enviar mensatges d'alerta Umidade Normal

{chip.println ("AT + CMGF = 1"); retard (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); retard (1000); String SMS = "Porta tancada!"; chip.println (SMS); retard (100); chip.println ((char) 26); retard (1000); }

El mòdul SIM800L utilitza l'ordre AT per controlar les seves funcions. Per tant, mitjançant aquestes ordres, enviarem el missatge al mòbil de l'usuari.

L’AT + CGMF = 1 s’utilitza per configurar el mòdul perquè funcioni en mode de text SMS. Després del retard, el sistema enviarà el missatge a l'usuari mitjançant l'ordre següent.

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

A l'ordre, el mòdul SIM800L estarà preparat per enviar un missatge al número de mòbil registrat a la cadena SeuNumero. Després d'això, el sistema carregarà el missatge a la cadena i enviarà al mòbil de l'usuari, tal com es mostra a continuació.

String SMS = "Porta tancada!"; chip.println (SMS); retard (100); chip.println ((char) 26); retard (1000);

El caràcter (26) s’utilitza per senyalitzar el final del missatge. Aquest procés de treball és similar per a dues funcions per enviar un missatge a l'usuari.

Agraïments

Ara agraïm el suport de JLCPCB per dur a terme aquest treball i, si esteu interessats, accediu al següent enllaç i descarregueu la placa compatible Arduino.

Recomanat: