Innholdsfortegnelse:

Telefonsikkerhetssystem med Arduino: 5 trinn
Telefonsikkerhetssystem med Arduino: 5 trinn

Video: Telefonsikkerhetssystem med Arduino: 5 trinn

Video: Telefonsikkerhetssystem med Arduino: 5 trinn
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, November
Anonim
Telefonsikkerhetssystem med Arduino
Telefonsikkerhetssystem med Arduino

Ditt hjem vil være ubeskyttet hvis du ikke bruker dette prosjektet. Dette prosjektet vil hjelpe deg med å utløse en alarm via mobiltelefon når en inntrenger bryter inn i hjemmet ditt.

På den måten, hvis du bruker dette prosjektet, vil du motta en SMS via mobiltelefon og vil kunne beskytte hjemmet ditt i tilfelle invasjoner.

For dette vil vi bruke Arduino -kompatible kort med SIM800L -modulen og PIR -sensoren. PIR -sensoren vil være ansvarlig for å oppdage tilstedeværelsen av en inntrenger, og SIM800L vil være ansvarlig for å sende en varsel -SMS til huseieren.

Rekvisita

  • Arduino kompatibelt bord
  • Sensor PIR
  • Motstand 10kR
  • Gensere
  • Protoboard
  • SIM800L -modul

Trinn 1: Hjertet i prosjektet

Hjertet i prosjektet er SIM800L -modulen. Denne modulen vil kunne motta Arduino -kommandoer og sende SMS til brukerens mobiltelefon. På den måten, når brukeren mottar varselet, kan han ringe politiet eller utføre andre typer handlinger.

Arduino Compatible Board er ansvarlig for å kontrollere sensorens tilstand og sender deretter en varselmelding til brukeren hvis den oppdager tilstedeværelse av en inntrenger.

Denne prosessen utføres takket være kontrollkommandoene mellom Arduino og SIM800L -modulen. Derfor vil vi introdusere deg trinn for trinn for å bygge dette systemet, la hjemmet ditt være beskyttet og advare deg når en inntrenger invaderer det.

Hvis du vil laste ned Arduino Compatible Board, kan du få tilgang til denne lenken og få filene til å kjøpe brettene dine på JLCPCB.

La oss begynne!

Trinn 2: Prosjektets elektroniske krets og programmeringen

Prosjektets elektroniske krets og programmeringen
Prosjektets elektroniske krets og programmeringen
Prosjektets elektroniske krets og programmeringen
Prosjektets elektroniske krets og programmeringen

Først vil vi gjøre den elektroniske kretsen tilgjengelig, og deretter vil vi diskutere prosjektkoden trinn for deg.

#include SoftwareSerial chip (10, 11);

String SeuNumero = "+5585988004783";

#definere sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

ugyldig oppsett ()

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

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

}

hulrom ()

{// 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 for 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 ((røyke) 26); forsinkelse (1000); }

void NoMoreIntrude () // Funcao for 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 ((røyke) 26); forsinkelse (1000); }

I koden vist nedenfor erklærte vi opprinnelig det serielle kommunikasjonsbiblioteket SoftwareSerial.h, som vist nedenfor.

#inkludere

Etter å ha definert biblioteket, ble kommunikasjonspinnene Tx og Rx definert. Disse pinnene er alternative pinner og brukes til å tillate seriell kommunikasjon på andre Arduino -pinner. SoftwareSerial -biblioteket ble utviklet slik at du kan bruke programvaren til å replikere funksjonaliteten

SoftwareSerial chip (10, 11);

Etter dette ble mobiltelefonnummeret deklarert og er vist nedenfor.

String SeuNumero = "+5585988004783";

Det elektroniske designopplegget er enkelt og enkelt å montere. Som du kan se på kretsen, er Arduino Compatible Board ansvarlig for å lese sensorstatusen og deretter sende en SMS til huseieren.

Meldingen vil bli sendt hvis en inntrenger blir oppdaget inne i huset. PIR -sensoren (Passive Infra Red) er en sensor som brukes til å oppdage bevegelse fra det infrarøde signalet. Fra signalet som sendes til Arduino, sender SIM800L -modulen en melding til brukeren.

Dioden vil bli brukt til å gi et spenningsfall for å forsyne SIM800L -modulen. Siden modulen ikke kan drives med 5V. På denne måten kommer en spenning på 4,3V for å drive modulen og sikre at den fungerer trygt.

Trinn 3: Void Setup () -funksjonen

I funksjonen for oppsett av tomrom vil vi initialisere den serielle kommunikasjonen og konfigurere sensorpinnen som en inngang. Regionen for koden er presentert nedenfor.

ugyldig oppsett ()

{

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

Som det er mulig å se ble den to serielle kommunikasjonen initialisert. Serial.begin brukes til å initialisere den opprinnelige serien til Arduino og chip.begin er serien som er emulert gjennom SoftwareSerial -biblioteket. Etter dette vil vi for hulromsløyfefunksjonen.

Trinn 4: Prosjektet og Void Loop -funksjonen

Prosjektet og Void Loop -funksjonen
Prosjektet og Void Loop -funksjonen
Prosjektet og Void Loop -funksjonen
Prosjektet og Void Loop -funksjonen

Nå vil vi presentere hovedlogikken for programmering i void loop -funksjonen.

void loop () {// 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;

}

}

Først vil signalet fra PIR -tilstedeværelsessensoren bli lest som vist nedenfor.

ValorAtual = digitalRead (sensor);

Etter dette vil det bli bekreftet om verdien i variabelen ValorAtual er 1 eller 0, som vist nedenfor.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Angi variabelen ValorAtual det er 1 og variablene ValorAnterior er 0, sensoren er faktisk aktivert og fremre er den deaktivert (ValorAnterior == 0). På denne måten vil funksjonen bli utført og brukeren vil motta meldingen på mobiltelefonen din. Etter dette vil verdien av variabelen ValorAnterior være lik 1.

På denne måten vil variabelen ValorAnterior bli signalisert at sensorens faktiske tilstand aktiveres.

Hvis verdien av variabelen ValorAtual er 0 og verdien til variabelen ValorAnterior er den lik 0, registrerer sensoren ikke inntrengning, og deretter aktiveres verdien.

På denne måten sender systemet meldingen for brukerens mobiltelefon og oppdaterer sensorens faktiske verdi for 0. Denne verdien indikerer at sensoren ikke er aktivert for øyeblikket.

Meldingene som ble sendt for brukeren er presentert ovenfor.

Nå lærer vi hvordan du bruker funksjonen til å sende meldingene for brukerens mobiltelefon.

Trinn 5: Funksjoner for å sende meldinger

I dette systemet er det to funksjoner. De er funksjoner med samme struktur. Forskjellen mellom dem er navnet og meldingen som sendes, men når vi analyserer det, vil vi se at de er helt like.

Deretter vil vi presentere den komplette strukturen av funksjonene 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 = "Åpnet dør!"; chip.println (SMS); forsinkelse (100); chip.println ((røyke) 26); forsinkelse (1000); }

void NoMoreIntrude () // Funcao for 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 ((røyke) 26); forsinkelse (1000); }

SIM800L -modulen bruker AT -kommandoen til å kontrollere funksjonene. Derfor sender vi gjennom disse kommandoene meldingen for brukerens mobiltelefon.

AT+CGMF = 1 brukes til å konfigurere modulen til å fungere i SMS -tekstmodus. Etter forsinkelsen sender systemet meldingen for brukeren gjennom følgende kommando.

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

I kommandoen vil SIM800L -modulen være forberedt på å sende en melding for mobiltelefonnummeret som er registrert i strengen SeuNumero. Etter dette vil systemet laste inn meldingen i strengen og sende for brukerens mobiltelefon, som vist nedenfor.

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

Tegnet (26) brukes til å signalisere slutten av meldingen. Denne arbeidsprosessen er lik for to funksjoner for å sende en melding til brukeren.

Anerkjennelser

Nå setter vi pris på støtten fra JLCPCB for å utføre dette arbeidet, og hvis du er interessert, kan du gå til følgende lenke og laste ned Arduino Compatible Board.

Anbefalt: