Inhoudsopgave:

Telefoonbeveiligingssysteem met Arduino - Ajarnpa
Telefoonbeveiligingssysteem met Arduino - Ajarnpa

Video: Telefoonbeveiligingssysteem met Arduino - Ajarnpa

Video: Telefoonbeveiligingssysteem met Arduino - Ajarnpa
Video: Arduino met bluetooth 2024, November
Anonim
Telefoonbeveiligingssysteem met Arduino
Telefoonbeveiligingssysteem met Arduino

Je huis is onbeschermd als je dit project niet toepast. Met dit project kun je een alarm activeren via een mobiele telefoon wanneer een indringer je huis binnendringt.

Op die manier, als u dit project gebruikt, ontvangt u een sms via uw mobiele telefoon en kunt u uw huis beschermen in geval van invasies.

Hiervoor gebruiken we het Arduino-compatibele bord met de SIM800L-module en PIR-sensor. De PIR-sensor is verantwoordelijk voor het detecteren van de aanwezigheid van een indringer en de SIM800L is verantwoordelijk voor het verzenden van een waarschuwings-sms naar de huiseigenaar.

Benodigdheden

  • Arduino-compatibel bord
  • Sensor PIR
  • Weerstand 10kR
  • Truien
  • Protobord
  • SIM800L-module

Stap 1: Het hart van het project

Het hart van het project is de SIM800L-module. Deze module kan Arduino-commando's ontvangen en sms'en naar de mobiele telefoon van de gebruiker. Op die manier kan de gebruiker, wanneer hij de waarschuwing ontvangt, de politie bellen of een ander soort actie ondernemen.

Het Arduino-compatibele bord is verantwoordelijk voor het controleren van de status van de sensor en stuurt vervolgens een waarschuwingsbericht naar de gebruiker als het de aanwezigheid van een indringer detecteert.

Dit proces wordt uitgevoerd dankzij de besturingsopdrachten tussen de Arduino en de SIM800L-module. Daarom zullen we u stap voor stap voorstellen om dit systeem te bouwen, uw huis beschermd achter te laten en u te waarschuwen wanneer een indringer het binnendringt.

Als je het Arduino-compatibele bord wilt downloaden, kun je toegang krijgen tot deze link en de bestanden krijgen om je borden bij JLCPCB te kopen.

Laten we nu beginnen!

Stap 2: Het elektronische projectcircuit en de programmering

Het elektronische circuit van het project en de programmering
Het elektronische circuit van het project en de programmering
Het elektronische projectcircuit en de programmering
Het elektronische projectcircuit en de programmering

Eerst stellen we de elektronische schakeling ter beschikking en daarna bespreken we stap voor stap de projectcode voor je.

#include SoftwareSerial-chip (10, 11);

String SeuNumero = "+5585988004783";

#definieer sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

ongeldige setup()

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

pinMode (sensor, INGANG); //Configura o Pino do Sensor como Entrada

}

lege lus()

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

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

{ Inbraakwaarschuwing; 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"); vertraging (1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); vertraging (1000); String SMS = "Inbraakwaarschuwing!"; chip.println(SMS); vertraging (100); chip.println((char)26); vertraging (1000); }

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

{chip.println("AT+CMGF=1"); vertraging (1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); vertraging (1000); String SMS = "Niet meer binnendringen!"; chip.println(SMS); vertraging (100); chip.println((char)26); vertraging (1000); }

In de onderstaande code hebben we aanvankelijk de seriële communicatiebibliotheek SoftwareSerial.h gedeclareerd, zoals hieronder weergegeven.

#erbij betrekken

Na het definiëren van de bibliotheek werden de communicatiepinnen Tx en Rx gedefinieerd. Deze pinnen zijn alternatieve pinnen en worden gebruikt om seriële communicatie op andere Arduino-pinnen mogelijk te maken. De SoftwareSerial-bibliotheek is ontwikkeld zodat u de software kunt gebruiken om de functionaliteit te repliceren

SoftwareSeriële chip (10, 11);

Hierna werd het mobiele telefoonnummer gedeclareerd en wordt hieronder weergegeven.

String SeuNumero = "+5585988004783";

Het elektronische ontwerpschema is eenvoudig en gemakkelijk te monteren. Zoals je op het circuit kunt zien, is het Arduino-compatibele bord verantwoordelijk voor het lezen van de sensorstatus en het verzenden van een sms naar de huiseigenaar.

Het bericht wordt verzonden als er een indringer in het huis wordt gedetecteerd. De PIR-sensor (Passief Infrarood) is een sensor die wordt gebruikt om beweging van het infraroodsignaal te detecteren. Van het signaal dat naar de Arduino wordt gestuurd, stuurt de SIM800L-module een bericht naar de gebruiker.

De diode wordt gebruikt om een spanningsval te leveren om de SIM800L-module te voeden. Aangezien de module niet kan worden gevoed met 5V. Op deze manier komt er een spanning van 4,3V om uw module van stroom te voorzien en ervoor te zorgen dat deze veilig werkt.

Stap 3: De functie Void Setup()

In de void setup-functie zullen we de seriële communicatie initialiseren en de sensorpin als ingang configureren. De regio van de code wordt hieronder weergegeven.

ongeldige setup()

{

Serieel.begin(9600); Serial.println("Inicializando Sistema…");delay(5000); chip.begin (9600); vertraging (1000); pinMode (sensor, INGANG); //Configura o Pino do Sensor como Entrada}

Zoals te zien is, is de twee seriële communicatie geïnitialiseerd. De Serial.begin wordt gebruikt om het oorspronkelijke serienummer van de Arduino te initialiseren en de chip.begin is het serienummer dat wordt geëmuleerd via de SoftwareSerial-bibliotheek. Hierna zullen we de void loop-functie gebruiken.

Stap 4: Het project en de Void Loop-functie

Het Project en de Void Loop-functie
Het Project en de Void Loop-functie
Het Project en de Void Loop-functie
Het Project en de Void Loop-functie

Nu zullen we de belangrijkste logica van het programmeren in de void loop-functie presenteren.

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;

}

}

Eerst wordt het signaal van de PIR-aanwezigheidssensor uitgelezen zoals hieronder weergegeven.

ValorAtual = digitalRead (sensor);

Hierna wordt gecontroleerd of de waarde in variabele ValorAtual 1 of 0 is, zoals hieronder wordt weergegeven.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Geval de variabele ValorAtual het is 1 en de variabelen ValorAnterior het is 0, de sensor is daadwerkelijk geactiveerd en anterieur is het gedeactiveerd (ValorAnterior == 0). Op deze manier wordt de functie uitgevoerd en ontvangt de gebruiker het bericht op uw mobiele telefoon. Hierna zal de waarde van de variabele ValorAnterior gelijk zijn aan 1.

Op deze manier wordt de variabele ValorAnterior gesignaleerd dat de werkelijke toestand van de sensor wordt geactiveerd.

Als de waarde van de variabele ValorAtual 0 is en de waarde van de variabele ValorAnterior gelijk is aan 0, detecteert de sensor geen inbraak en wordt de waarde geactiveerd.

Op deze manier zal het systeem het bericht voor de mobiele telefoon van de gebruiker verzenden en de werkelijke waarde van de sensor bijwerken naar 0. Deze waarde geeft aan dat de sensor op dit moment niet wordt geactiveerd.

De berichten die voor de gebruiker zijn verzonden, worden hierboven weergegeven.

Nu zullen we leren hoe we de functie kunnen gebruiken om de berichten voor de mobiele telefoon van de gebruiker te verzenden.

Stap 5: Functies om berichten te verzenden

In dit systeem zijn er twee functies. Het zijn functies met dezelfde structuur. Het verschil tussen hen is de naam en het verzonden bericht, maar wanneer we het analyseren, zullen we zien dat ze volledig hetzelfde zijn.

Vervolgens zullen we de volledige structuur van de functies presenteren en de code bespreken.

void IntrudeAlert() //Functie voor de alarmering van de waarschuwingen op chip.println("AT+CMGF=1"); vertraging (1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); vertraging (1000); String SMS = "Geopende deur!"; chip.println(SMS); vertraging (100); chip.println((char)26); vertraging (1000); }

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

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

De SIM800L-module gebruikt het AT-commando om zijn functies te besturen. Daarom sturen we via deze opdrachten het bericht naar de mobiele telefoon van de gebruiker.

De AT+CGMF = 1 wordt gebruikt om de module te configureren om in SMS-tekstmodus te werken. Na de vertraging zal het systeem het bericht voor de gebruiker verzenden via de volgende opdracht.

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

In de opdracht wordt de SIM800L-module voorbereid om een bericht te verzenden voor het mobiele telefoonnummer dat is geregistreerd in de string SeuNumero. Hierna laadt het systeem het bericht in de string en verstuurt het naar de mobiele telefoon van de gebruiker, zoals hieronder wordt getoond.

String SMS = "Gesloten deur!"; chip.println(SMS); vertraging (100); chip.println((char)26); vertraging (1000);

De char (26) wordt gebruikt om het einde van het bericht aan te geven. Dit werkproces is vergelijkbaar voor twee functies om een bericht naar de gebruiker te sturen.

Dankbetuigingen

Nu waarderen we de steun van JLCPCB om dit werk uit te voeren en, als je geïnteresseerd bent, ga je naar de volgende link en download je het Arduino-compatibele bord.

Aanbevolen: