Innehållsförteckning:

Telefonsäkerhetssystem med Arduino: 5 steg
Telefonsäkerhetssystem med Arduino: 5 steg

Video: Telefonsäkerhetssystem med Arduino: 5 steg

Video: Telefonsäkerhetssystem med Arduino: 5 steg
Video: Exploratory Data Analysis & Modeling with Python + R - (Part II - Mixed Effects Modeling with R) 2024, Juli
Anonim
Telefonsäkerhetssystem med Arduino
Telefonsäkerhetssystem med Arduino

Ditt hem kommer att vara oskyddat om du inte tillämpar detta projekt. Detta projekt hjälper dig att utlösa ett larm via mobiltelefon när en inkräktare bryter sig in i ditt hem.

På det sättet, om du använder det här projektet, får du ett SMS via mobiltelefon och kommer att kunna skydda ditt hem vid invasioner.

För detta kommer vi att använda Arduino -kompatibla kortet med SIM800L -modulen och PIR -sensorn. PIR -sensorn ansvarar för att detektera närvaron av en inkräktare och SIM800L kommer att ansvara för att skicka ett varnings -SMS till husägaren.

Tillbehör

  • Arduino -kompatibelt kort
  • Sensor PIR
  • Motstånd 10kR
  • Tröjor
  • Protoboard
  • SIM800L -modul

Steg 1: Hjärtat i projektet

Hjärtat i projektet är SIM800L -modulen. Denna modul kommer att kunna ta emot Arduino -kommandon och skicka SMS till användarens mobiltelefon. På det sättet, när användaren får varningen, kan han ringa polisen eller utföra någon annan typ av åtgärd.

Arduino Compatible Board kommer att ansvara för att kontrollera sensorns tillstånd och sedan skicka ett varningsmeddelande till användaren om den upptäcker närvaron av en inkräktare.

Denna process utförs tack vare kontrollkommandona mellan Arduino och SIM800L -modulen. Därför kommer vi att presentera dig steg för steg för att bygga detta system, lämna ditt hem skyddat och varna dig när någon inkräktare invaderar det.

Om du vill ladda ner Arduino Compatible Board kan du komma åt den här länken och få filerna för att köpa dina kort på JLCPCB.

Nu ska vi börja!

Steg 2: Projektets elektroniska krets och programmering

Projektets elektroniska krets och programmering
Projektets elektroniska krets och programmering
Projektets elektroniska krets och programmering
Projektets elektroniska krets och programmering

Först kommer vi att göra den elektroniska kretsen tillgänglig och sedan kommer vi att diskutera projektkoden steg för steg för dig.

#include SoftwareSerial -chip (10, 11);

String SeuNumero = "+5585988004783";

#definiera sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

void setup ()

{Serial.begin (9600); Serial.println ("Inicializando Sistema …"); fördröjning (5000); chip. började (9600); fördröjning (1000);

pinMode (sensor, INGÅNG); // Configura o Pino do Sensor som Entrada

}

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; }

}

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

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

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

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

I koden som visas nedan deklarerade vi initialt det seriella kommunikationsbiblioteket SoftwareSerial.h, som visas nedan.

#omfatta

Efter att ha definierat biblioteket definierades kommunikationsnålarna Tx och Rx. Dessa stift är alternativa stift och används för att tillåta seriell kommunikation på andra Arduino -stift. SoftwareSerial -biblioteket har utvecklats så att du kan använda programmet för att replikera funktionaliteten

SoftwareSerial chip (10, 11);

Efter detta tillkännagavs mobiltelefonnumret som visas nedan.

String SeuNumero = "+5585988004783";

Det elektroniska designschemat är enkelt och enkelt att montera. Som du kan se på kretsen är Arduino Compatible Board ansvarig för att läsa sensorstatusen och sedan skicka ett SMS till husägaren.

Meddelandet skickas om en inkräktare upptäcks inne i huset. PIR -sensorn (Passive Infra Red) är en sensor som används för att detektera rörelse från den infraröda signalen. Från signalen som skickas till Arduino skickar SIM800L -modulen ett meddelande till användaren.

Dioden kommer att användas för att ge ett spänningsfall för att försörja SIM800L -modulen. Eftersom modulen inte kan drivas med 5V. På detta sätt kommer en spänning på 4,3V för att driva din modul och se till att den fungerar säkert.

Steg 3: Void Setup () -funktionen

I void setup -funktionen kommer vi att initiera den seriella kommunikationen och konfigurera sensorstiftet som en ingång. Kodens region presenteras nedan.

void setup ()

{

Serial.begin (9600); Serial.println ("Inicializando Sistema …"); fördröjning (5000); chip. började (9600); fördröjning (1000); pinMode (sensor, INGÅNG); // Configura o Pino do Sensor como Entrada}

Som det är möjligt initierades den två seriella kommunikationen. Serial.begin används för att initiera den inbyggda serien av Arduino och chip.begin är serien som emuleras genom SoftwareSerial -biblioteket. Efter detta kommer vi för void loop -funktionen.

Steg 4: Projektet och Void Loop -funktionen

Projektet och Void Loop -funktionen
Projektet och Void Loop -funktionen
Projektet och Void Loop -funktionen
Projektet och Void Loop -funktionen

Nu kommer vi att presentera huvudlogiken för programmering i void loop -funktionen.

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;

}

}

Först kommer signalen från PIR -närvarosensorn att läsas som visas nedan.

ValorAtual = digitalRead (sensor);

Efter detta kommer det att verifieras om värdet i variabeln ValorAtual är 1 eller 0, som visas nedan.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Fall variabeln ValorAtual är 1 och variablerna ValorAnterior är 0, sensorn är faktiskt aktiverad och framåt är den inaktiverad (ValorAnterior == 0). På detta sätt kommer funktionen att utföras och användaren får meddelandet på din mobiltelefon. Efter detta kommer värdet på variabeln ValorAnterior att vara lika med 1.

På detta sätt kommer variabeln ValorAnterior att signaleras att sensorns faktiska tillstånd aktiveras.

Om värdet för variabeln ValorAtual är 0 och värdet för ValorAnterior -variabeln är lika med 0, upptäcker sensorn inte intrång och sedan aktiveras dess värde.

På detta sätt kommer systemet att skicka meddelandet för användarens mobiltelefon och uppdatera sensorns faktiska värde för 0. Detta värde indikerar att sensorn inte aktiveras för tillfället.

Meddelandena som skickades för användaren presenteras ovan.

Nu kommer vi att lära oss hur man använder funktionen för att skicka meddelanden för användarens mobiltelefon.

Steg 5: Funktioner för att skicka meddelanden

I detta system finns det två funktioner. De är funktioner med samma struktur. Skillnaden mellan dem är namnet och meddelandet som skickas, men när vi analyserar det kommer vi att se att de är helt desamma.

Därefter presenterar vi den fullständiga strukturen för funktionerna och diskuterar koden.

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); fördröjning (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); fördröjning (1000); String SMS = "Öppnad dörr!"; chip.println (SMS); fördröjning (100); chip.println ((char) 26); fördröjning (1000); }

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

{chip.println ("AT+CMGF = 1"); fördröjning (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); fördröjning (1000); String SMS = "Stängd dörr!"; chip.println (SMS); fördröjning (100); chip.println ((char) 26); fördröjning (1000); }

SIM800L -modulen använder AT -kommandot för att styra dess funktioner. Därför skickar vi med dessa kommandon meddelandet för användarens mobiltelefon.

AT+CGMF = 1 används för att konfigurera modulen för att fungera i SMS -textläge. Efter fördröjningen skickar systemet meddelandet för användaren genom följande kommando.

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

I kommandot är SIM800L -modulen beredd att skicka ett meddelande för mobiltelefonnumret som är registrerat i strängen SeuNumero. Efter detta kommer systemet att ladda meddelandet i strängen och skicka för användarens mobiltelefon, som visas nedan.

String SMS = "Stängd dörr!"; chip.println (SMS); fördröjning (100); chip.println ((char) 26); fördröjning (1000);

Tecknet (26) används för att signalera slutet av meddelandet. Denna arbetsprocess liknar två funktioner för att skicka ett meddelande till användaren.

Kvitteringar

Nu uppskattar vi stödet från JLCPCB för att utföra detta arbete och, om du är intresserad, gå till följande länk och ladda ner Arduino Compatible Board.

Rekommenderad: