Sommario:

Sistema di sicurezza telefonica con Arduino: 5 passaggi
Sistema di sicurezza telefonica con Arduino: 5 passaggi

Video: Sistema di sicurezza telefonica con Arduino: 5 passaggi

Video: Sistema di sicurezza telefonica con Arduino: 5 passaggi
Video: Come realizzare un sistema ANTIFURTO con Arduino (Parte 2) 2024, Dicembre
Anonim
Sistema di sicurezza telefonica con Arduino
Sistema di sicurezza telefonica con Arduino

La tua casa non sarà protetta se non applichi questo progetto. Questo progetto ti aiuterà ad attivare un allarme tramite telefono cellulare quando un intruso entra in casa tua.

In questo modo, se utilizzi questo progetto, riceverai un SMS tramite cellulare e potrai proteggere la tua casa in caso di invasioni.

Per questo, utilizzeremo la scheda compatibile Arduino con il modulo SIM800L e il sensore PIR. Il sensore PIR avrà il compito di rilevare la presenza di un intruso e il SIM800L avrà il compito di inviare un SMS di avviso al proprietario della casa.

Forniture

  • Scheda compatibile con Arduino
  • Sensore PIR
  • Resistenza 10kR
  • ponticelli
  • Protoboard
  • Modulo SIM800L

Fase 1: Il cuore del progetto

Il cuore del progetto è il modulo SIM800L. Questo modulo sarà in grado di ricevere comandi Arduino e inviare SMS al cellulare dell'utente. In questo modo, quando l'utente riceve l'allerta, può chiamare la polizia o compiere qualsiasi altro tipo di azione.

La scheda Arduino compatibile sarà responsabile del controllo dello stato del sensore e quindi invierà un messaggio di avviso all'utente se rileva la presenza di un intruso.

Questo processo viene eseguito grazie ai comandi di controllo tra Arduino e il modulo SIM800L. Pertanto, da ciò, ti presenteremo passo dopo passo per costruire questo sistema, lasciare la tua casa protetta e avvisarti ogni volta che un intruso la invade.

Se vuoi scaricare la scheda compatibile con Arduino, puoi accedere a questo link e ottenere i file per acquistare le tue schede su JLCPCB.

Ora, cominciamo!

Fase 2: Il circuito elettronico del progetto e la programmazione

Il Progetto Circuito Elettronico e la Programmazione
Il Progetto Circuito Elettronico e la Programmazione
Il Progetto Circuito Elettronico e la Programmazione
Il Progetto Circuito Elettronico e la Programmazione

Per prima cosa, renderemo disponibile il circuito elettronico e poi discuteremo passo dopo passo il codice del progetto.

#include SoftwareChip seriale(10, 11);

String SeuNumero = "+5585988004783";

#define sensore 12

bool ValorAtual = 0, ValorAnterior = 0;

configurazione nulla()

{ Serial.begin(9600); Serial.println("Inizializzazione sistema…"); ritardo (5000); chip.begin(9600); ritardo(1000);

pinMode(sensore, INGRESSO); //Configura o Pino do Sensor come Entrada

}

ciclo vuoto()

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

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

{ Avviso di intrusione; ValoreAnteriore = 1; }

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

{ NoMoreIntrude(); ValoreAnteriore = 0; }

}

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

{ chip.println("AT+CMGF=1"); ritardo(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); ritardo(1000); String SMS = "Avviso di intrusione!"; chip.println(SMS); ritardo(100); chip.println((char)26); ritardo(1000); }

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

{ chip.println("AT+CMGF=1"); ritardo(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); ritardo(1000); String SMS = "Basta intrusioni!"; chip.println(SMS); ritardo(100); chip.println((char)26); ritardo(1000); }

Nel codice mostrato di seguito, abbiamo inizialmente dichiarato la libreria di comunicazione seriale SoftwareSerial.h, come mostrato di seguito.

#includere

Dopo aver definito la libreria, sono stati definiti i pin di comunicazione Tx e Rx. Questi pin sono pin alternativi e vengono utilizzati per consentire la comunicazione seriale su altri pin Arduino. La libreria SoftwareSerial è stata sviluppata per consentirti di utilizzare il software per replicare la funzionalità

SoftwareChip seriale(10, 11);

Successivamente, il numero di cellulare è stato dichiarato è mostrato di seguito.

String SeuNumero = "+5585988004783";

Lo schema di progettazione elettronica è semplice e facile da montare. Come puoi vedere sul circuito, la scheda compatibile Arduino è responsabile della lettura dello stato del sensore e quindi dell'invio di un SMS al proprietario di casa.

Il messaggio verrà inviato se viene rilevato un intruso all'interno della casa. Il sensore PIR (Passive Infra Red) è un sensore utilizzato per rilevare il movimento dal segnale a infrarossi. Dal segnale inviato ad Arduino, il modulo SIM800L invierà un messaggio all'utente.

Il diodo verrà utilizzato per fornire una caduta di tensione per alimentare il modulo SIM800L. Poiché il modulo non può essere alimentato con 5V. In questo modo arriverà una tensione di 4,3V per alimentare il tuo modulo e far sì che funzioni in sicurezza.

Passaggio 3: la funzione Void Setup()

Nella funzione void setup inizializzeremo la comunicazione seriale e configureremo il pin del sensore come input. La regione del codice è presentata di seguito.

configurazione nulla()

{

Serial.begin(9600); Serial.println("Inizializzazione sistema…");delay(5000); chip.begin(9600); ritardo(1000); pinMode(sensore, INGRESSO); //Configura o Pino do Sensor come Entrada }

Come è possibile vedere, le due comunicazioni seriali sono state inizializzate. Il Serial.begin viene utilizzato per inizializzare il seriale nativo di Arduino e il chip.begin è il seriale emulato tramite la libreria SoftwareSerial. Dopo questo, lo faremo per la funzione void loop.

Passaggio 4: il progetto e la funzione Void Loop

Il progetto e la funzione Void Loop
Il progetto e la funzione Void Loop
Il progetto e la funzione Void Loop
Il progetto e la funzione Void Loop

Ora, presenteremo la logica principale della programmazione nella funzione void loop.

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

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

{ Avviso Intrusione();

ValoreAnteriore = 1;

}

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

{ NoMoreIntrude();

ValoreAnteriore = 0;

}

}

Innanzitutto, verrà letto il segnale dal sensore di presenza PIR come mostrato di seguito.

ValorAtual = digitalRead(sensore);

Successivamente, verrà verificato se il valore nella variabile ValorAtual è 1 o 0, come mostrato di seguito.

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

ValoreAnteriore = 1;

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

ValoreAnteriore = 0;

}

Se la variabile ValorAtual è 1 e le variabili ValorAnterior è 0, il sensore è effettivamente attivato e anteriormente è disattivato (ValorAnterior == 0). In questo modo la funzione verrà eseguita e l'utente riceverà il messaggio sul proprio cellulare. Dopo questo, il valore della variabile ValorAnterior sarà uguale a 1.

In questo modo verrà segnalato alla variabile ValorAnterior che lo stato attuale del sensore è attivato.

Ora, se il valore della variabile ValorAtual è 0 e il valore della variabile ValorAnterior è uguale a 0, il sensore non rileva l'intrusione e quindi il suo valore viene attivato.

In questo modo il sistema invierà il messaggio per il cellulare dell'utente e aggiornerà il valore effettivo del sensore a 0. Questo valore indicherà che il sensore non è momentaneamente attivo.

I messaggi che sono stati inviati per l'utente sono presentati sopra.

Ora impareremo come utilizzare la funzione per inviare i messaggi al cellulare dell'utente.

Passaggio 5: funzioni per inviare messaggi

In questo sistema, ci sono due funzioni. Sono funzioni con la stessa struttura. La differenza tra loro è il nome e il messaggio inviato, ma quando lo analizzeremo, vedremo che sono completamente uguali.

Successivamente, presenteremo la struttura completa delle funzioni e discuteremo il codice.

void IntrudeAlert() //Funzione per inviare messaggi di avviso Umidade Baixa{ chip.println("AT+CMGF=1"); ritardo(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); ritardo(1000); Stringa SMS = "Porta Aperta!"; chip.println(SMS); ritardo(100); chip.println((char)26); ritardo(1000); }

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

{ chip.println("AT+CMGF=1"); ritardo(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); ritardo(1000); Stringa SMS = "Porta Chiusa!"; chip.println(SMS); ritardo(100); chip.println((char)26); ritardo(1000); }

Il modulo SIM800L utilizza il comando AT per controllare le sue funzioni. Pertanto, tramite questi comandi, invieremo il messaggio per il cellulare dell'utente.

L'AT+CGMF = 1 viene utilizzato per configurare il modulo per funzionare in modalità di testo SMS. Dopo il ritardo, il sistema invierà il messaggio per l'utente tramite il seguente comando.

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

Nel comando il modulo SIM800L sarà predisposto per inviare un messaggio per il numero di cellulare registrato nella stringa SeuNumero. Successivamente, il sistema caricherà il messaggio nella stringa e invierà per il cellulare dell'utente, come mostrato di seguito.

Stringa SMS = "Porta Chiusa!"; chip.println(SMS); ritardo(100); chip.println((char)26); ritardo(1000);

Il char(26) viene utilizzato per segnalare la fine del messaggio. Questo processo di lavoro è simile per due funzioni per inviare un messaggio per l'utente.

Ringraziamenti

Ora, apprezziamo il supporto di JLCPCB per svolgere questo lavoro e, se sei interessato, accedi al seguente link e scarica la scheda compatibile con Arduino.

Consigliato: