Inhoudsopgave:
- Benodigdheden
- Stap 1: Het hart van het project
- Stap 2: Het elektronische projectcircuit en de programmering
- Stap 3: De functie Void Setup()
- Stap 4: Het project en de Void Loop-functie
- Stap 5: Functies om berichten te verzenden
Video: Telefoonbeveiligingssysteem met Arduino - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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
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
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:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Pratende Arduino - Een MP3 afspelen met Arduino zonder enige module - Mp3-bestand afspelen vanaf Arduino met PCM: 6 stappen
Pratende Arduino | Een MP3 afspelen met Arduino zonder enige module | Mp3-bestand van Arduino afspelen met PCM: in deze instructie leren we hoe we een mp3-bestand met arduino kunnen spelen zonder een audiomodule te gebruiken, hier gaan we de PCM-bibliotheek voor Arduino gebruiken die 16 bit PCM van 8 kHz-frequentie speelt, dus laten we dit doen
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Start uw diavoorstelling met vakantiefoto's met een vleugje magie! 9 stappen (met afbeeldingen)
Lanceer uw diavoorstelling met vakantiefoto's met een vleugje magie!: In de loop der jaren heb ik de gewoonte ontwikkeld om een klein beeldje mee te nemen op reis: ik koop vaak een kleine, lege artoy (zoals die op de foto) en verf het past bij de vlag en het thema van het land dat ik bezoek (in dit geval Sicilië). T