Indholdsfortegnelse:

Telefonsikkerhedssystem med Arduino: 5 trin
Telefonsikkerhedssystem med Arduino: 5 trin

Video: Telefonsikkerhedssystem med Arduino: 5 trin

Video: Telefonsikkerhedssystem med Arduino: 5 trin
Video: Светодиодный контроллер Arduino Bluetooth с Bluetooth-модулем Android HC-05 | Разработчик прилож MIT 2024, November
Anonim
Telefonsikkerhedssystem med Arduino
Telefonsikkerhedssystem med Arduino

Dit hjem vil være ubeskyttet, hvis du ikke anvender dette projekt. Dette projekt hjælper dig med at udløse en alarm via mobiltelefon, når en ubuden gæst bryder ind i dit hjem.

På den måde, hvis du bruger dette projekt, modtager du en sms via mobiltelefon og vil kunne beskytte dit hjem i tilfælde af invasioner.

Til dette vil vi bruge Arduino -kompatibelt kort med SIM800L -modulet og PIR -sensoren. PIR -sensoren er ansvarlig for at registrere tilstedeværelsen af en ubuden gæst, og SIM800L er ansvarlig for at sende en advarsels -SMS til husejeren.

Forbrugsvarer

  • Arduino kompatibelt bord
  • Sensor PIR
  • Modstand 10kR
  • Jumpere
  • Protoboard
  • SIM800L -modul

Trin 1: Projektets hjerte

Hjertet i projektet er SIM800L -modulet. Dette modul vil kunne modtage Arduino -kommandoer og sende SMS til brugerens mobiltelefon. På den måde, når brugeren modtager advarslen, kan han ringe til politiet eller udføre enhver anden form for handling.

Arduino Compatible Board er ansvarlig for at kontrollere sensorens tilstand og sender derefter en advarselsmeddelelse til brugeren, hvis den registrerer tilstedeværelsen af en ubuden gæst.

Denne proces udføres takket være kontrolkommandoerne mellem Arduino og SIM800L -modulet. Derfor vil vi herfra introducere dig trin for trin for at bygge dette system, forlade dit hjem beskyttet og advare dig, når en ubuden gæst invaderer det.

Hvis du vil downloade Arduino Compatible Board, kan du få adgang til dette link og få filerne til at købe dine boards på JLCPCB.

Lad os nu komme i gang!

Trin 2: Projektets elektroniske kredsløb og programmeringen

Projektets elektroniske kredsløb og programmeringen
Projektets elektroniske kredsløb og programmeringen
Projektets elektroniske kredsløb og programmeringen
Projektets elektroniske kredsløb og programmeringen

Først stiller vi det elektroniske kredsløb til rådighed, og derefter vil vi diskutere projektkoden trin for trin for dig.

#include SoftwareSerial chip (10, 11);

String SeuNumero = "+5585988004783";

#definer sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

ugyldig opsætning ()

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

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

}

hulrum ()

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

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

{IntrudeAlert; ValorAnterior = 1; }

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

{NoMoreIntrude (); ValorAnterior = 0; }

}

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

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

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

{chip.println ("AT+CMGF = 1"); forsinkelse (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); forsinkelse (1000); String SMS = "No More Intrude!"; chip.println (SMS); forsinkelse (100); chip.println ((char) 26); forsinkelse (1000); }

I koden vist nedenfor erklærede vi oprindeligt det serielle kommunikationsbibliotek SoftwareSerial.h, som vist nedenfor.

#omfatte

Efter at have defineret biblioteket blev kommunikationsstifterne Tx og Rx defineret. Disse ben er alternative stifter og bruges til at tillade seriel kommunikation på andre Arduino -ben. SoftwareSerial -biblioteket blev udviklet, så du kan bruge softwaren til at replikere funktionaliteten

SoftwareSerial chip (10, 11);

Efter dette blev mobiltelefonnummeret erklæret, er vist nedenfor.

String SeuNumero = "+5585988004783";

Det elektroniske designskema er enkelt og let at samle. Som du kan se på kredsløbet, er Arduino Compatible Board ansvarlig for at læse sensorstatus og derefter sende en SMS til husejeren.

Meddelelsen sendes, hvis der bliver opdaget en ubuden gæst inde i huset. PIR -sensoren (Passive Infra Red) er en sensor, der bruges til at registrere bevægelse fra det infrarøde signal. Fra signalet sendt til Arduino sender SIM800L -modulet en besked til brugeren.

Dioden bruges til at levere et spændingsfald til at forsyne SIM800L -modulet. Da modulet ikke kan drives med 5V. På denne måde vil der komme en spænding på 4,3V for at drive dit modul og sikre, at det fungerer sikkert.

Trin 3: Funktionen Ugyldig opsætning ()

I void -opsætningsfunktionen vil vi initialisere den serielle kommunikation og konfigurere sensorstiften som et input. Kodens område er vist nedenfor.

ugyldig opsætning ()

{

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

Som det er muligt at se, blev den to serielle kommunikation initialiseret. Serial.begin bruges til at initialisere den indfødte serie af Arduinoen og chip.begin er den serie, der er emuleret gennem SoftwareSerial -biblioteket. Efter dette vil vi for void loop funktionen.

Trin 4: Projektet og Void Loop -funktionen

Projektet og Void Loop -funktionen
Projektet og Void Loop -funktionen
Projektet og Void Loop -funktionen
Projektet og Void Loop -funktionen

Nu vil vi præsentere hovedlogikken for programmering i funktionen til tomrumsløjfe.

void loop () {// Valor do pino do sensor ValorAtual = digitalRead (sensor);

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

{IntrudeAlert ();

ValorAnterior = 1;

}

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

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Først vil signalet fra PIR -nærværssensoren blive aflæst som vist nedenfor.

ValorAtual = digitalRead (sensor);

Herefter verificeres det, om værdien i variablen ValorAtual er 1 eller 0, som vist nedenfor.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Tilfæld variablen ValorAtual det er 1 og variablerne ValorAnterior det er 0, sensoren er faktisk aktiveret og anteriort er den deaktiveret (ValorAnterior == 0). På denne måde vil funktionen blive udført, og brugeren vil modtage beskeden på din mobiltelefon. Herefter vil værdien af variablen ValorAnterior være lig med 1.

På denne måde vil variablen ValorAnterior blive signaliseret, at sensorens faktiske tilstand aktiveres.

Hvis værdien af variablen ValorAtual nu er 0, og værdien af variablen ValorAnterior er den lig med 0, registrerer sensoren ikke indtrængen, og derefter aktiveres dens værdi.

På denne måde sender systemet beskeden til brugerens mobiltelefon og opdaterer sensorens faktiske værdi til 0. Denne værdi angiver, at sensoren ikke aktiveres i øjeblikket.

De meddelelser, der blev sendt til brugeren, er vist ovenfor.

Nu lærer vi, hvordan du arbejder med funktionen til at sende beskederne til brugerens mobiltelefon.

Trin 5: Funktioner til at sende meddelelser

I dette system er der to funktioner. De er funktioner med samme struktur. Forskellen mellem dem er navnet og den besked, der sendes, men når vi analyserer det, vil vi se, at de er fuldstændig ens.

Dernæst vil vi præsentere den komplette struktur af funktionerne og diskutere koden.

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); forsinkelse (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); forsinkelse (1000); String SMS = "Åbnede dør!"; chip.println (SMS); forsinkelse (100); chip.println ((char) 26); forsinkelse (1000); }

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

{chip.println ("AT+CMGF = 1"); forsinkelse (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); forsinkelse (1000); String SMS = "Lukket dør!"; chip.println (SMS); forsinkelse (100); chip.println ((char) 26); forsinkelse (1000); }

SIM800L -modulet bruger AT -kommandoen til at styre dets funktioner. Derfor sender vi via disse kommandoer beskeden til brugerens mobiltelefon.

AT+CGMF = 1 bruges til at konfigurere modulet til at fungere i SMS -teksttilstand. Efter forsinkelsen sender systemet beskeden til brugeren via følgende kommando.

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

I kommandoen vil SIM800L -modulet være forberedt på at sende en besked til mobiltelefonnummeret, der er registreret i strengen SeuNumero. Efter dette indlæser systemet meddelelsen i strengen og sender til brugerens mobiltelefon, som vist nedenfor.

String SMS = "Lukket dør!"; chip.println (SMS); forsinkelse (100); chip.println ((char) 26); forsinkelse (1000);

Tegnet (26) bruges til at signalere slutningen af meddelelsen. Denne arbejdsproces ligner to funktioner til at sende en besked til brugeren.

Anerkendelser

Nu værdsætter vi støtten fra JLCPCB til at udføre dette arbejde, og hvis du er interesseret, skal du gå til følgende link og downloade Arduino Compatible Board.

Anbefalede: