INHOUDSOPGAWE:
- Voorrade
- Stap 1: Die hart van die projek
- Stap 2: Die elektroniese stroombaan van die projek en die programmering
- Stap 3: Die funksie Void Setup ()
- Stap 4: Die projek en die leemte -lusfunksie
- Stap 5: Funksies om boodskappe te stuur
Video: Telefoonbeveiligingstelsel met Arduino: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
U huis sal onbeskermd wees as u nie hierdie projek toepas nie. Hierdie projek sal u help om 'n alarm via 'n selfoon te aktiveer wanneer 'n indringer by u huis inbreek.
As u hierdie projek gebruik, sal u 'n SMS per selfoon ontvang en u huis beskerm kan word in geval van invalle.
Hiervoor gebruik ons die Arduino -versoenbare bord met die SIM800L -module en PIR -sensor. Die PIR -sensor is verantwoordelik vir die opsporing van die teenwoordigheid van 'n indringer en die SIM800L is verantwoordelik vir die stuur van 'n waarskuwings -SMS na die huiseienaar.
Voorrade
- Arduino -versoenbare bord
- Sensor PIR
- Weerstand 10kR
- Springers
- Protobord
- SIM800L -module
Stap 1: Die hart van die projek
Die kern van die projek is die SIM800L -module. Hierdie module kan Arduino -opdragte ontvang en sms'e na die gebruiker se selfoon stuur. Sodra die gebruiker die waarskuwing ontvang, kan hy die polisie bel of enige ander aksie uitvoer.
Die Arduino -versoenbare bord is verantwoordelik vir die kontrole van die toestand van die sensor en stuur dan 'n waarskuwingsboodskap aan die gebruiker as dit die teenwoordigheid van 'n indringer opspoor.
Hierdie proses word uitgevoer danksy die beheeropdragte tussen die Arduino en die SIM800L -module. Daarom stel ons u stap vir stap voor om u hierdie stelsel te bou, u huis beskerm te laat en u te waarsku wanneer enige indringer dit binnedring.
As u die Arduino Compatible Board wil aflaai, het u toegang tot hierdie skakel en kry u die lêers om u planke by JLCPCB te koop.
Nou, laat ons begin!
Stap 2: Die elektroniese stroombaan van die projek en die programmering
Eerstens stel ons die elektroniese stroombaan beskikbaar en dan bespreek ons die projekkode stap vir stap vir u.
#sluit SoftwareSerial -chip in (10, 11);
String SeuNumero = "+5585988004783";
#definieer sensor 12
bool ValorAtual = 0, ValorAnterior = 0;
leemte opstelling ()
{Serial.begin (9600); Serial.println ("Inicializando Sistema …"); vertraging (5000); chip.begin (9600); vertraging (1000);
pinMode (sensor, INVOER); // Configura o Pino do Sensor in Entrada
}
leemte lus ()
{// Valor do pino do sensor ValorAtual = digitalRead (sensor);
as (ValorAtual == 1 && ValorAnterior == 0)
{IntrudeAlert; ValorAnterior = 1; }
as (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 = "Intrude Alert!"; 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 = "No More Intrude!"; chip.println (SMS); vertraging (100); chip.println ((char) 26); vertraging (1000); }
In die onderstaande kode het ons aanvanklik die seriële kommunikasiebiblioteek SoftwareSerial.h verklaar, soos hieronder getoon.
#insluit
Nadat die biblioteek gedefinieer is, is die kommunikasiepenne Tx en Rx gedefinieer. Hierdie penne is alternatiewe penne en word gebruik om seriële kommunikasie op ander Arduino -penne moontlik te maak. Die SoftwareSerial -biblioteek is ontwikkel sodat u die sagteware kan gebruik om die funksies te herhaal
SoftwareSerial chip (10, 11);
Hierna is die selfoonnommer verklaar, wat hieronder getoon word.
String SeuNumero = "+5585988004783";
Die elektroniese ontwerpskema is eenvoudig en maklik om te monteer. Soos u op die kring kan sien, is die Arduino -versoenbare bord verantwoordelik om die sensorstatus te lees en dan 'n SMS na die huiseienaar te stuur.
Die boodskap sal gestuur word as 'n indringer in die huis opgespoor word. Die PIR (Passive Infra Red) sensor is 'n sensor wat gebruik word om beweging van die infrarooi sein op te spoor. Van die sein wat na die Arduino gestuur word, stuur die SIM800L -module 'n boodskap aan die gebruiker.
Die diode sal gebruik word om 'n spanningsverlies te verskaf om die SIM800L -module te voorsien. Aangesien die module nie met 5V aangedryf kan word nie. Op hierdie manier kom 'n spanning van 4.3V om u module te voed en te verseker dat dit veilig werk.
Stap 3: Die funksie Void Setup ()
In die leemte -opstellingsfunksie sal ons die seriële kommunikasie inisialiseer en die sensorpen as 'n invoer opstel. Die gebied van die kode word hieronder aangebied.
leemte opstelling ()
{
Serial.begin (9600); Serial.println ("Inicializando Sistema …"); vertraging (5000); chip.begin (9600); vertraging (1000); pinMode (sensor, INVOER); // Configura o Pino do Sensor in Entrada}
Soos moontlik is, is die twee seriële kommunikasie geïnisialiseer. Die Serial.begin word gebruik om die oorspronklike reeks van die Arduino te initialiseer en die chip.begin is die reeks wat deur die SoftwareSerial -biblioteek geëmuleer word. Hierna sal ons vir die leemte -lusfunksie.
Stap 4: Die projek en die leemte -lusfunksie
Nou sal ons die belangrikste logika van programmering in die leemte -lusfunksie aanbied.
void loop () {// Valor do pino do sensor ValorAtual = digitalRead (sensor);
as (ValorAtual == 1 && ValorAnterior == 0)
{IntrudeAlert ();
ValorAnterior = 1;
}
as (ValorAtual == 0 && ValorAnterior == 1)
{NoMoreIntrude ();
ValorAnterior = 0;
}
}
Eerstens word die sein van die PIR -teenwoordigheidsensor gelees soos hieronder getoon.
ValorAtual = digitalRead (sensor);
Hierna word geverifieer of die waarde in veranderlike ValorAtual 1 of 0 is, soos hieronder getoon.
as (ValorAtual == 1 && ValorAnterior == 0) {IntrudeAlert ();
ValorAnterior = 1;
} as (ValorAtual == 0 && ValorAnterior == 0) {NoMoreIntrude ();
ValorAnterior = 0;
}
In geval van die veranderlike ValorAtual is dit 1 en die veranderlikes ValorAnterior is 0, die sensor is eintlik geaktiveer en anterior is dit gedeaktiveer (ValorAnterior == 0). Op hierdie manier word die funksie uitgevoer en sal die gebruiker die boodskap op u selfoon ontvang. Hierna is die waarde van die veranderlike ValorAnterior gelyk aan 1.
Op hierdie manier word die veranderlike ValorAnterior aangedui dat die werklike toestand van die sensor geaktiveer word.
As die waarde van die veranderlike ValorAtual 0 is en die waarde van die ValorAnterior veranderlike gelyk is aan 0, sal die sensor nie indringing opspoor nie en dan word die waarde daarvan geaktiveer.
Op hierdie manier sal die stelsel die boodskap vir die selfoon van die gebruiker stuur en die werklike waarde van die sensor opdateer vir 0. Hierdie waarde sal aandui dat die sensor nie aktief is nie.
Die boodskappe wat vir die gebruiker gestuur is, word hierbo aangebied.
Nou leer ons hoe u die funksie gebruik om die boodskappe vir die selfoon van die gebruiker te stuur.
Stap 5: Funksies om boodskappe te stuur
In hierdie stelsel is daar twee funksies. Dit is funksies met dieselfde struktuur. Die verskil tussen hulle is die naam en die boodskap wat gestuur is, maar as ons dit ontleed, sal ons sien dat dit heeltemal dieselfde is.
Vervolgens sal ons die volledige struktuur van die funksies aanbied en die kode bespreek.
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 = "Deur oopgemaak!"; 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 = "Geslote deur!"; chip.println (SMS); vertraging (100); chip.println ((char) 26); vertraging (1000); }
Die SIM800L -module gebruik die AT -opdrag om sy funksies te beheer. Daarom stuur ons deur hierdie opdragte die boodskap vir die selfoon van die gebruiker.
Die AT+CGMF = 1 word gebruik om die module op te stel om in die SMS -teksmodus te werk. Na die vertraging stuur die stelsel die boodskap vir die gebruiker deur die volgende opdrag.
chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r");
In die opdrag sal die SIM800L -module voorbereid wees om 'n boodskap te stuur vir die selfoonnommer wat in die string SeuNumero geregistreer is. Hierna laai die stelsel die boodskap in die string en stuur dit na die selfoon van die gebruiker, soos hieronder getoon.
String SMS = "Geslote deur!"; chip.println (SMS); vertraging (100); chip.println ((char) 26); vertraging (1000);
Die kar (26) word gebruik om die einde van die boodskap aan te dui. Hierdie werkproses is dieselfde vir twee funksies om 'n boodskap vir die gebruiker te stuur.
Erkennings
Nou waardeer ons die ondersteuning van JLCPCB om hierdie werk uit te voer, en as u belangstel, besoek die volgende skakel en laai die Arduino Compatible Board af.
Aanbeveel:
Hoe om 'n hommeltuig te maak met Arduino UNO - Maak 'n quadcopter met behulp van mikrokontroller: 8 stappe (met foto's)
Hoe om 'n hommeltuig te maak met Arduino UNO | Maak 'n quadcopter met behulp van mikrobeheerder: inleiding Besoek my Youtube -kanaal 'n Drone is 'n baie duur apparaat (produk) om te koop. In hierdie pos gaan ek bespreek hoe ek dit goedkoop kan maak ?? En hoe kan u u eie goedkoop maak teen goedkoop pryse … In Indië is al die materiale (motors, ESC's
PWM Met ESP32 - Dim LED met PWM op ESP 32 Met Arduino IDE: 6 stappe
PWM Met ESP32 | Dim LED met PWM op ESP 32 Met Arduino IDE: In hierdie instruksies sal ons sien hoe om PWM seine te genereer met ESP32 met behulp van Arduino IDE & PWM word basies gebruik om analoog uitset van enige MCU te genereer en die analoog uitset kan tussen 0V en 3.3V wees (in die geval van esp32) & van
DIY slim weegskaal met wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): 10 stappe (met foto's)
DIY Smart Scale With Alarm Clock (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In my vorige projek het ek 'n slim badkamerskaal met Wi-Fi ontwikkel. Dit kan die gebruiker se gewig meet, plaaslik vertoon en dit na die wolk stuur. U kan meer inligting hieroor kry op die onderstaande skakel: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Maak 'n horlosie met M5stick C Met Arduino IDE - RTC-intydse klok met M5stack M5stick-C: 4 stappe
Maak 'n horlosie met M5stick C Met Arduino IDE | RTC Real Time Clock Met M5stack M5stick-C: Hallo ouens in hierdie instruksies, ons sal leer hoe om 'n horlosie te maak met 'n m5stick-C ontwikkelbord van m5stack met behulp van Arduino IDE. So m5stick sal datum, tyd en amp vertoon; week van die maand op die skerm
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons