विषयसूची:

Arduino के साथ टेलीफोन सुरक्षा प्रणाली: 5 कदम
Arduino के साथ टेलीफोन सुरक्षा प्रणाली: 5 कदम

वीडियो: Arduino के साथ टेलीफोन सुरक्षा प्रणाली: 5 कदम

वीडियो: Arduino के साथ टेलीफोन सुरक्षा प्रणाली: 5 कदम
वीडियो: Beyond the Basics: Automatic Gatekeeper With IR Sensor And ChatGPT Generated Arduino Code 2024, नवंबर
Anonim
Arduino के साथ टेलीफोन सुरक्षा प्रणाली
Arduino के साथ टेलीफोन सुरक्षा प्रणाली

यदि आप इस परियोजना को लागू नहीं करते हैं तो आपका घर असुरक्षित रहेगा। जब कोई घुसपैठिया आपके घर में घुसता है तो यह परियोजना आपको सेल फोन के माध्यम से अलार्म ट्रिगर करने में मदद करेगी।

इस तरह, यदि आप इस परियोजना का उपयोग करते हैं, तो आपको सेल फोन के माध्यम से एक एसएमएस प्राप्त होगा और आक्रमण के मामले में अपने घर को सुरक्षित रखने में सक्षम होंगे।

इसके लिए हम SIM800L मॉड्यूल और PIR सेंसर के साथ Arduino कम्पेटिबल बोर्ड का उपयोग करेंगे। PIR सेंसर घुसपैठिए की उपस्थिति का पता लगाने के लिए जिम्मेदार होगा और SIM800L घर के मालिक को अलर्ट एसएमएस भेजने के लिए जिम्मेदार होगा।

आपूर्ति

  • Arduino संगत बोर्ड
  • सेंसर पीआईआर
  • प्रतिरोधी 10kR
  • जम्परों
  • protoboard
  • SIM800L मॉड्यूल

चरण 1: परियोजना का दिल

परियोजना का केंद्र SIM800L मॉड्यूल है। यह मॉड्यूल Arduino कमांड प्राप्त करने और उपयोगकर्ता के सेल फोन पर एसएमएस भेजने में सक्षम होगा। इस तरह, जब उपयोगकर्ता को अलर्ट मिलता है, तो वह पुलिस को कॉल कर सकता है या किसी अन्य प्रकार की कार्रवाई कर सकता है।

Arduino कम्पेटिबल बोर्ड सेंसर की स्थिति की जाँच के लिए जिम्मेदार होगा और फिर उपयोगकर्ता को एक घुसपैठिए की उपस्थिति का पता लगाने पर एक अलर्ट संदेश भेजेगा।

इस प्रक्रिया को Arduino और SIM800L मॉड्यूल के बीच नियंत्रण आदेशों के लिए धन्यवाद दिया जाता है। इसलिए, उस से, हम आपको इस प्रणाली के निर्माण के लिए कदम दर कदम परिचय देंगे, अपने घर को सुरक्षित छोड़ देंगे और जब भी कोई घुसपैठिया इस पर आक्रमण करेगा तो आपको चेतावनी देगा।

यदि आप Arduino कम्पेटिबल बोर्ड डाउनलोड करना चाहते हैं, तो आप इस लिंक तक पहुंच सकते हैं और JLCPCB पर अपने बोर्ड खरीदने के लिए फाइलें प्राप्त कर सकते हैं।

अब, चलिए शुरू करते हैं!

चरण 2: प्रोजेक्ट इलेक्ट्रॉनिक सर्किट और प्रोग्रामिंग

प्रोजेक्ट इलेक्ट्रॉनिक सर्किट और प्रोग्रामिंग
प्रोजेक्ट इलेक्ट्रॉनिक सर्किट और प्रोग्रामिंग
प्रोजेक्ट इलेक्ट्रॉनिक सर्किट और प्रोग्रामिंग
प्रोजेक्ट इलेक्ट्रॉनिक सर्किट और प्रोग्रामिंग

पहले हम इलेक्ट्रॉनिक सर्किट उपलब्ध कराएंगे और फिर हम आपके लिए प्रोजेक्ट कोड स्टेप बाय स्टेप चर्चा करेंगे।

#शामिल सॉफ्टवेयरसीरियल चिप(१०, ११);

स्ट्रिंग SeuNumero = "+5585988004783";

#डिफाइन सेंसर 12

बूल वेलोरअटुअल = 0, वेलोरएन्टीरियर = 0;

व्यर्थ व्यवस्था()

{ सीरियल.बेगिन (९६००); Serial.println ("इनिसियालिज़ांडो सिस्तेमा…"); देरी (5000); चिप.बेगिन (९६००); देरी (1000);

पिनमोड (सेंसर, INPUT); // कॉन्फिगुरा या पिनो डू सेंसर कोमो एंट्रैडा

}

शून्य लूप ()

{// ले ओ वेलोर डू पिनो डू सेंसर वेलोरअटुअल = डिजिटलरेड (सेंसर);

अगर(ValorAtual == 1 && ValorAnterior == 0)

{ घुसपैठ अलर्ट; वीरतापूर्व = १; }

अगर(ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude (); वीरतापूर्व = 0; }

}

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

{चिप.प्रिंट्लन ("एटी + सीएमजीएफ = 1"); देरी (1000); चिप.प्रिंट्लन ("एटी+सीएमजीएस=\"" + सेउन्यूमेरो + "\"\r"); देरी (1000); स्ट्रिंग एसएमएस = "चेतावनी घुसपैठ!"; चिप.प्रिंट्लन (एसएमएस); देरी (100); चिप.प्रिंट्लन ((चार) 26); देरी (1000); }

शून्य NoMoreIntrude () // Funcao para enviar mensagem de Alerta Umidade normal

{चिप.प्रिंट्लन ("एटी + सीएमजीएफ = 1"); देरी (1000); चिप.प्रिंट्लन ("एटी+सीएमजीएस=\"" + सेउन्यूमेरो + "\"\r"); देरी (1000); स्ट्रिंग एसएमएस = "कोई और घुसपैठ नहीं!"; चिप.प्रिंट्लन (एसएमएस); देरी (100); चिप.प्रिंट्लन ((चार) 26); देरी (1000); }

नीचे दिखाए गए कोड में, हमने शुरू में सीरियल कम्युनिकेशन लाइब्रेरी SoftwareSerial.h घोषित किया, जैसा कि नीचे दिखाया गया है।

#शामिल

पुस्तकालय को परिभाषित करने के बाद, संचार पिन Tx और Rx को परिभाषित किया गया। ये पिन वैकल्पिक पिन हैं और अन्य Arduino पिन पर सीरियल संचार की अनुमति देने के लिए उपयोग किए जाते हैं। SoftwareSerial लाइब्रेरी को आपको कार्यक्षमता को दोहराने के लिए सॉफ़्टवेयर का उपयोग करने की अनुमति देने के लिए विकसित किया गया था

सॉफ्टवेयर सीरियल चिप(१०, ११);

इसके बाद घोषित किया गया मोबाइल नंबर नीचे दिखाया गया है।

स्ट्रिंग SeuNumero = "+5585988004783";

इलेक्ट्रॉनिक डिजाइन योजना सरल और इकट्ठा करने में आसान है। जैसा कि आप सर्किट पर देख सकते हैं, Arduino कम्पेटिबल बोर्ड सेंसर की स्थिति को पढ़ने और फिर घर के मालिक को एक एसएमएस भेजने के लिए जिम्मेदार है।

घर के अंदर घुसपैठिए पाए जाने पर मैसेज भेजा जाएगा। PIR (पैसिव इंफ्रा रेड) सेंसर एक सेंसर है जिसका इस्तेमाल इंफ्रारेड सिग्नल से मूवमेंट का पता लगाने के लिए किया जाता है। Arduino को भेजे गए सिग्नल से, SIM800L मॉड्यूल उपयोगकर्ता को एक संदेश भेजेगा।

डायोड का उपयोग SIM800L मॉड्यूल की आपूर्ति के लिए वोल्टेज ड्रॉप प्रदान करने के लिए किया जाएगा। चूंकि मॉड्यूल को 5V से संचालित नहीं किया जा सकता है। इस तरह, आपके मॉड्यूल को पावर देने के लिए 4.3V का वोल्टेज आएगा और यह सुनिश्चित करेगा कि यह सुरक्षित रूप से काम करता है।

चरण 3: शून्य सेटअप () फ़ंक्शन

शून्य सेटअप फ़ंक्शन में, हम सीरियल कम्युनिकेशन को इनिशियलाइज़ करेंगे और सेंसर पिन को इनपुट के रूप में कॉन्फ़िगर करेंगे। कोड का क्षेत्र नीचे प्रस्तुत किया गया है।

व्यर्थ व्यवस्था()

{

सीरियल.बेगिन (९६००); Serial.println ("इनिसियलज़ांडो सिस्तेमा…");देरी (5000); चिप.बेगिन (९६००); देरी (1000); पिनमोड (सेंसर, INPUT); // कॉन्फिगुरा या पिनो डू सेंसर कॉमो एंट्राडा }

जैसा कि देखा जा सकता है, दो धारावाहिक संचार आरंभ किया गया था। Serial.begin का उपयोग Arduino के मूल सीरियल को इनिशियलाइज़ करने के लिए किया जाता है और chip.begin SoftwareSerial लाइब्रेरी के माध्यम से अनुकरण किया जाने वाला सीरियल है। इसके बाद, हम शून्य लूप फ़ंक्शन के लिए करेंगे।

चरण 4: परियोजना और शून्य लूप फ़ंक्शन

परियोजना और शून्य लूप फ़ंक्शन
परियोजना और शून्य लूप फ़ंक्शन
परियोजना और शून्य लूप फ़ंक्शन
परियोजना और शून्य लूप फ़ंक्शन

अब, हम शून्य लूप फ़ंक्शन में प्रोग्रामिंग के मुख्य तर्क को प्रस्तुत करेंगे।

शून्य लूप () {// ले ओ वेलोर डू पिनो डू सेंसर वेलोरअटुअल = डिजिटलरेड (सेंसर);

अगर(ValorAtual == 1 && ValorAnterior == 0)

{ घुसपैठ अलर्ट ();

वीरतापूर्व = १;

}

अगर(ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude ();

वीरतापूर्व = 0;

}

}

सबसे पहले, पीर उपस्थिति सेंसर से संकेत पढ़ा जाएगा जैसा कि नीचे दिखाया गया है।

ValorAtual = digitalRead (सेंसर);

इसके बाद, यह सत्यापित किया जाएगा कि क्या वैरिएबल ValorAtual में मान 1 या 0 है, जैसा कि नीचे दिखाया गया है।

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

वीरतापूर्व = १;

} अगर (ValorAtual == 0 && ValorAnterior == 0) { NoMoreIntrude ();

वीरतापूर्व = 0;

}

केस वेरिएबल ValorAtual यह 1 है और वेरिएबल ValorAnterior यह 0 है, सेंसर वास्तव में सक्रिय है और पूर्वकाल में इसे निष्क्रिय कर दिया गया है (ValorAnterior == 0)। इस तरह, फ़ंक्शन निष्पादित हो जाएगा और उपयोगकर्ता को आपके सेलफोन पर संदेश प्राप्त होगा। इसके बाद वेरिएबल ValorAnterior का मान 1 के बराबर होगा।

इस तरह, चर ValorAnterior को संकेत दिया जाएगा कि सेंसर की वास्तविक स्थिति सक्रिय है।

अब, यदि वेरिएबल ValorAtual का मान 0 है और ValorAnterior वेरिएबल का मान 0 के बराबर है, तो सेंसर घुसपैठ का पता नहीं लगाता है और फिर उसका मान सक्रिय हो जाता है।

इस तरह, सिस्टम उपयोगकर्ता के सेलफोन के लिए संदेश भेजेगा और 0 के लिए सेंसर के वास्तविक मूल्य को अपडेट करेगा। यह मान इंगित करेगा कि सेंसर इस समय सक्रिय नहीं है।

उपयोगकर्ता के लिए भेजे गए संदेश ऊपर प्रस्तुत किए गए हैं।

अब, हम सीखेंगे कि उपयोगकर्ता के सेलफोन के लिए संदेश भेजने के लिए फ़ंक्शन कैसे काम करता है।

चरण 5: संदेश भेजने के कार्य

इस प्रणाली में, दो कार्य हैं। वे एक ही संरचना के साथ कार्य कर रहे हैं। उनके बीच अंतर नाम और भेजे गए संदेश का है, लेकिन जब हम इसका विश्लेषण करते हैं, तो हम देखेंगे कि वे पूरी तरह से समान हैं।

इसके बाद, हम फ़ंक्शंस की पूरी संरचना प्रस्तुत करेंगे और कोड पर चर्चा करेंगे।

void IntrudeAlert () // Funcao para enviar mensagem de Alerta Umidade Baixa{ chip.println("AT+CMGF=1"); देरी (1000); चिप.प्रिंट्लन ("एटी+सीएमजीएस=\"" + सेउन्यूमेरो + "\"\r"); देरी (1000); स्ट्रिंग एसएमएस = "खुला दरवाजा!"; चिप.प्रिंट्लन (एसएमएस); देरी (100); चिप.प्रिंट्लन ((चार) 26); देरी (1000); }

शून्य NoMoreIntrude () // Funcao para enviar mensagem de Alerta Umidade normal

{चिप.प्रिंट्लन ("एटी + सीएमजीएफ = 1"); देरी (1000); चिप.प्रिंट्लन ("एटी+सीएमजीएस=\"" + सेउन्यूमेरो + "\"\r"); देरी (1000); स्ट्रिंग एसएमएस = "बंद दरवाजा!"; चिप.प्रिंट्लन (एसएमएस); देरी (100); चिप.प्रिंट्लन ((चार) 26); देरी (1000); }

SIM800L मॉड्यूल अपने कार्यों को नियंत्रित करने के लिए AT कमांड का उपयोग करता है। इसलिए, इन आदेशों के माध्यम से, हम उपयोगकर्ता के सेलफोन के लिए संदेश भेजेंगे।

एसएमएस टेक्स्ट मोड में काम करने के लिए मॉड्यूल को कॉन्फ़िगर करने के लिए एटी + सीजीएमएफ = 1 का उपयोग किया जाता है। देरी के बाद, सिस्टम निम्नलिखित कमांड के माध्यम से उपयोगकर्ता के लिए संदेश भेजेगा।

चिप.प्रिंट्लन ("एटी+सीएमजीएस=\"" + सेउन्यूमेरो + "\"\r");

कमांड में, SIM800L मॉड्यूल स्ट्रिंग SeuNumero में पंजीकृत सेलफोन नंबर के लिए एक संदेश भेजने के लिए तैयार किया जाएगा। इसके बाद, सिस्टम संदेश को स्ट्रिंग में लोड करेगा और उपयोगकर्ता के सेलफोन के लिए भेजेगा, जैसा कि नीचे दिखाया गया है।

स्ट्रिंग एसएमएस = "बंद दरवाजा!"; चिप.प्रिंट्लन (एसएमएस); देरी (100); चिप.प्रिंट्लन ((चार) 26); देरी (1000);

संदेश के अंत को इंगित करने के लिए char(26) का उपयोग किया जाता है। उपयोगकर्ता के लिए संदेश भेजने के लिए दो कार्यों के लिए यह कार्य प्रक्रिया समान है।

स्वीकृतियाँ

अब, हम इस कार्य को करने के लिए JLCPCB के समर्थन की सराहना करते हैं और, यदि आप रुचि रखते हैं, तो निम्न लिंक तक पहुंचें और Arduino कम्पेटिबल बोर्ड डाउनलोड करें।

सिफारिश की: