अलार्म लूपसाठी Arduino वायरिंग आकृती. Arduino मेंदूसह बजेट GSM अलार्म. आम्ही कशातून गोळा करू?

दारे आणि खिडक्या 07.03.2020
दारे आणि खिडक्या

ते विशेष हार्डवेअर प्लॅटफॉर्म आहेत ज्याच्या आधारावर आपण विविध तयार करू शकता इलेक्ट्रॉनिक उपकरणे, यासह आणि . या प्रकारची उपकरणे त्यांच्या साध्या डिझाइनद्वारे आणि त्यांचे ऑपरेटिंग अल्गोरिदम प्रोग्राम करण्याच्या क्षमतेद्वारे ओळखली जातात. हे धन्यवाद, मदतीने तयार Arduino GSMसिग्नलिंग , जास्तीत जास्त सानुकूलित केले जाऊ शकते जे ते संरक्षित करेल.

Arduino मॉड्यूल म्हणजे काय?

Arduinos लहान बोर्डांच्या स्वरूपात लागू केले जातात ज्यांचे स्वतःचे मायक्रोप्रोसेसर आणि मेमरी असते. बोर्डमध्ये कार्यात्मक संपर्कांचा एक संच देखील आहे ज्यामध्ये तुम्ही सुरक्षा प्रणालींसाठी वापरल्या जाणाऱ्या सेन्सरसह विविध विद्युतीकृत उपकरणे कनेक्ट करू शकता.

Arduino प्रोसेसर तुम्हाला वापरकर्त्याने स्वतः लिहिलेला प्रोग्राम लोड करण्याची परवानगी देतो. तुमचा स्वतःचा अनन्य अल्गोरिदम तयार करून, तुम्ही वेगवेगळ्या वस्तूंसाठी सुरक्षा अलार्मसाठी इष्टतम ऑपरेटिंग मोड प्रदान करू शकता आणि भिन्न परिस्थितीउपयोग आणि सोडवायची कार्ये.

Arduino सह काम करणे कठीण आहे का?

Arduino मॉड्यूल अनेक वापरकर्त्यांमध्ये अत्यंत लोकप्रिय आहेत. हे त्याच्या साधेपणामुळे आणि सुलभतेमुळे शक्य झाले.

मॉड्यूल्स नियंत्रित करण्यासाठी प्रोग्राम नियमित C++ वापरून लिहिले जातात आणि मॉड्यूल पिनवर I/O प्रक्रिया नियंत्रित करण्यासाठी साध्या फंक्शन्सच्या स्वरूपात जोडले जातात. याव्यतिरिक्त, विंडोज, लिनक्स किंवा मॅक ओएस अंतर्गत कार्यरत असलेले विनामूल्य Arduino IDE सॉफ्टवेअर प्रोग्रामिंगसाठी वापरले जाऊ शकते.

Arduino मॉड्यूल्ससह, उपकरणे एकत्रित करण्याची प्रक्रिया लक्षणीयरीत्या सरलीकृत आहे. Arduino वर जीएसएम अलार्म सिस्टम सोल्डरिंग लोहाची आवश्यकता न ठेवता तयार केली जाऊ शकते - असेंब्ली ब्रेडबोर्ड, जंपर्स आणि वायर वापरून होते.

Arduino वापरून अलार्म कसा तयार करायचा?

Arduino वर तयार केलेल्या DIY gsm अलार्म सिस्टमने ज्या मूलभूत आवश्यकता पूर्ण केल्या पाहिजेत त्यामध्ये हे समाविष्ट आहे:

  • ब्रेक-इन किंवा एंट्रीबद्दल सुविधेच्या मालकास सूचित करा;
  • समर्थन बाह्य प्रणालीजसे की ध्वनी सायरन, सिग्नल दिवे;
  • एसएमएस किंवा कॉलद्वारे अलार्म नियंत्रण;
  • बाह्य वीज पुरवठ्याशिवाय स्वायत्त ऑपरेशन.

अलार्म तयार करण्यासाठी आपल्याला याची आवश्यकता असेल:

  • Arduino मॉड्यूल;
  • फंक्शनल सेन्सर्सचा संच;
  • किंवा मोडेम;
  • स्वायत्त उर्जा स्त्रोत;
  • बाह्य ॲक्ट्युएटर.

Arduino मॉड्यूल्सचे एक विशिष्ट वैशिष्ट्य म्हणजे विशेष विस्तार बोर्डांचा वापर. त्यांच्या मदतीने, तुम्ही कॉन्फिगरेशन एकत्र करण्यासाठी आवश्यक असलेली सर्व अतिरिक्त उपकरणे Arduino शी कनेक्ट करू शकता सुरक्षा यंत्रणा. असे बोर्ड Arduino मॉड्यूलच्या वर "सँडविच" च्या स्वरूपात स्थापित केले जातात आणि संबंधित सहाय्यक उपकरणे स्वतः बोर्डांशी जोडलेली असतात.

हे कसे कार्य करते?

जेव्हा कनेक्ट केलेल्या सेन्सरपैकी एक ट्रिगर केला जातो, तेव्हा एक सिग्नल Arduino मॉड्यूलच्या प्रोसेसरवर प्रसारित केला जातो. डाउनलोड केलेले वापरणे सानुकूल सॉफ्टवेअर, मायक्रोप्रोसेसर विशिष्ट अल्गोरिदमनुसार त्यावर प्रक्रिया करतो. परिणामी, बाह्य ॲक्ट्युएटर चालवण्याची आज्ञा व्युत्पन्न केली जाऊ शकते, जी त्यास संबंधित विस्तार-इंटरफेस बोर्डद्वारे प्रसारित केली जाते.

संरक्षित असलेल्या घराच्या किंवा अपार्टमेंटच्या मालकाला चेतावणी सिग्नल पाठविण्याची क्षमता सुनिश्चित करण्यासाठी, एक विशेष GSM मॉड्यूल Arduino मॉड्यूलशी विस्तार बोर्डद्वारे जोडलेले आहे. त्यामध्ये सेल्युलर प्रदात्यांपैकी एक सिम कार्ड स्थापित केले आहे.

विशेष GSM अडॅप्टरच्या अनुपस्थितीत, नियमित मोबाइल फोन त्याची भूमिका पार पाडू शकतो. अलार्म चेतावणी आणि डायलिंगसह एसएमएस संदेश पाठविण्याव्यतिरिक्त, सेल्युलर संप्रेषणाची उपस्थिती आपल्याला व्यवस्थापित करण्यास अनुमती देईल जीएसएम अलार्म Arduino वर दूरस्थपणे, आणि विशेष विनंत्या पाठवून ऑब्जेक्टच्या स्थितीचे निरीक्षण देखील करा.

"नोट!

ऑब्जेक्टच्या मालकाशी संवाद साधण्यासाठी, जीएसएम मॉड्यूल्स व्यतिरिक्त, सामान्य मोडेम वापरले जाऊ शकतात, जे इंटरनेटद्वारे संप्रेषण प्रदान करतात.

या प्रकरणात, जेव्हा सेन्सर ट्रिगर केला जातो, तेव्हा प्रोसेसरद्वारे प्रक्रिया केलेले सिग्नल मॉडेमद्वारे विशेष पोर्टल किंवा वेबसाइटवर प्रसारित केले जातात. आणि साइटवरून, एक चेतावणी एसएमएस किंवा लिंक केलेल्या ई-मेलवर मेलिंग स्वयंचलितपणे व्युत्पन्न होते.

निष्कर्ष

Arduino मॉड्युल वापरल्याने वापरकर्त्यांना GSM अलार्म स्वतंत्रपणे डिझाइन करण्याची अनुमती मिळेल जे वेगळ्यासह कार्य करू शकतात कार्यात्मक सेन्सर्सआणि व्यवस्थापित करा बाह्य उपकरणे. विविध सेन्सर्स वापरण्याच्या शक्यतेबद्दल धन्यवाद, अलार्म फंक्शन्स लक्षणीयरीत्या विस्तारित केले जाऊ शकतात आणि एक कॉम्प्लेक्स तयार केले जाऊ शकते जे केवळ ऑब्जेक्टच्या सुरक्षिततेवरच नव्हे तर त्याच्या स्थितीवर देखील लक्ष ठेवेल. उदाहरणार्थ, सुविधेवर तापमान नियंत्रित करणे, पाणी आणि वायू गळती शोधणे, आपत्कालीन परिस्थितीत त्यांचा पुरवठा बंद करणे आणि बरेच काही करणे शक्य होईल.

आपल्या घराचे निमंत्रित अतिथींपासून संरक्षण करण्यासाठी, सर्वकाही जास्त लोकअलार्म स्थापित करा. ते वेळेवर आवारात घुसखोरीचा इशारा देतात. आज आहेत विविध प्रकारअलार्म, पण मध्ये अलीकडेजीएसएम अलार्मची लोकप्रियता वाढू लागली आहे, कारण ते आपल्याला ऑब्जेक्टपासून कोणत्याही अंतरावर घुसखोरीबद्दल माहिती प्राप्त करण्यास अनुमती देतात, मुख्य गोष्ट अशी आहे की त्या वेळी मालकाकडे एक फोन आहे आणि हा फोन ऑनलाइन आहे. दुर्दैवाने, या प्रणाल्या अद्याप त्यांना केवळ प्राधान्य देण्यासाठी इतक्या स्वस्त नाहीत. पण आजकाल तुम्ही एक साधा GSM अलार्म स्वतः बनवू शकता. आणि लोकप्रिय Arduino बोर्ड या प्रकरणात मदत करेल.


हा प्रकल्प एक सुरक्षा (अलार्म) प्रणाली आहे ज्यात घुसखोरांना घरात प्रवेश केल्याबद्दल सूचित केले जाते. प्रणाली GSM तंत्रज्ञान वापरते.



एक घुसखोरी शोध मॉड्यूल या सुरक्षा प्रणालीच्या मायक्रोकंट्रोलर बोर्डशी जोडलेले आहे, जे आधारित असू शकते, उदाहरणार्थ, IR सेन्सर किंवा अल्ट्रासोनिक प्रॉक्सिमिटी सेन्सरवर. जेव्हा अशा मॉड्यूलमधून सिग्नल प्राप्त होतो, तेव्हा वापरकर्त्याच्या फोनवर एक एसएमएस संदेश पाठविला जातो जो सूचित करतो की त्यांचे घर तोडले गेले आहे.


खालील आकृती सुरक्षा प्रणालीचा ब्लॉक आकृती दर्शवते.



सिस्टमचे मुख्य घटक मायक्रोकंट्रोलर बोर्ड (उदाहरणार्थ, Arduino Uno) आणि GSM/GPRS मॉड्यूल SIM900A आहेत. संपूर्ण प्रणाली एकाच 12V/2A वीज पुरवठ्यावरून चालविली जाऊ शकते.


खालील चित्र दाखवते सर्किट आकृती होम सिस्टम Arduino वर आधारित GSM सह सुरक्षा.



सिस्टमचे ऑपरेशन अगदी सोपे आहे आणि जास्त स्पष्टीकरण आवश्यक नाही. जेव्हा वीज पुरवठा लागू केला जातो, तेव्हा सिस्टम स्टँडबाय मोडमध्ये जाते. तथापि, जेव्हा J2 शॉर्ट-सर्किट असतो, तेव्हा एक चेतावणी संदेश स्वयंचलितपणे प्रीसेट नंबरवर प्रसारित केला जातो भ्रमणध्वनी. कोणताही डिटेक्शन सेन्सर J2 इनपुट कनेक्टरशी जोडला जाऊ शकतो. हे लक्षात घ्यावे की J2 च्या पिन 1 वरील निम्न पातळी सक्रिय आहे आणि सुरक्षा प्रणाली चालू करते.


याव्यतिरिक्त, सिस्टमने S2 बटण दाबून कॉल करण्याची क्षमता जोडली आहे. S3 बटण वापरून तुम्ही हा कॉल रीसेट करू शकता.


खाली Arduino साठी कोड आहे.


// GPS मॉड्यूलच्या D3 पिन करण्यासाठी Tx पिन कनेक्ट करा // GPS मॉड्यूलच्या D4 पिन करण्यासाठी Rx पिन कनेक्ट करा // SMS पाठविणारा सिग्नल पिन D7 (सक्रिय स्तर कमी) वर कनेक्ट करा // कॉल सिग्नलला D8 पिन करण्यासाठी कनेक्ट करा (सक्रिय पातळी कमी) //कॉल रीसेट सिग्नल END ला पिन D9 (सक्रिय पातळी कमी) करण्यासाठी कनेक्ट करा #include NewSoftSerial mySerial(3,4); // GSM मॉड्यूलसह ​​संप्रेषणासाठी RX आणि TX पिन कॉन्फिगर करा #define msg_key 7 #define call_key 8 #define end_key 9 स्ट्रिंग नंबर ="0000000000"; // येथे, शून्याऐवजी, तुम्हाला 10-अंकी मोबाइल नंबर void setup() ( Serial.begin(9600); mySerial.begin(9600); pinMode(msg_key,INPUT); pinMode(call_key,INPUT) प्रविष्ट करणे आवश्यक आहे. ; pinMode(end_key, INPUT); digitalWrite(call_key,HIGH); =LOW) // एसएमएस पाठवा बटण दाबले आहे की नाही ते तपासत आहे ( mySerial.println("AT+CMGF=1"); // मजकूर मोड विलंब (150) म्हणून मोड सेट करा; mySerial.println("AT+CMGS=\ "+00"+ संख्या+"\"); // शून्य विलंब (150) च्या जागी, प्राप्तकर्त्याचा क्रमांक आंतरराष्ट्रीय स्वरूपात निर्दिष्ट करा; mySerial.print("चेतावणी! घुसखोर इशारा!"); // संदेश विलंब प्रविष्ट करा(150 mySerial.write((बाइट)0x1A); (call_key)==LOW) // call_key आधीच दाबली गेली आहे की नाही हे तपासा ( mySerial.println("ATD+91"+number+";"); //कॉल करायचा क्रमांक निश्चित करा(digitalRead(call_key)==LOW ); विलंब (50); ) // इतर कॉल रीसेट करा (digitalRead(end_key)==LOW) //कॉल रीसेट बटण आधीच दाबले आहे का ते तपासा ( mySerial.println("ATH"); तर(digitalRead(end_key)==LOW); विलंब (५०);

अशा प्रकारे, आपण आपल्या स्वत: च्या हातांनी Arduino बोर्डवर आधारित जीएसएम अलार्म सिस्टम सहजपणे तयार करू शकता. अशी अलार्म सिस्टम, त्याच्या किंमतीनुसार, आज बाजारात असलेल्या ब्रँडेड ॲनालॉग्सपेक्षा नक्कीच स्वस्त असेल आणि ती जवळजवळ सारख्याच प्रकारे कार्य करेल.

आज आपण कसे वापरावे याबद्दल बोलू अर्डिनोगोळा करणे सुरक्षा यंत्रणा. आमची "सुरक्षा" एका सर्किटचे रक्षण करेल आणि एक सायरन नियंत्रित करेल.

Arduino साठी ही समस्या नाही, आणि, जसे की तुम्ही प्रोग्राम कोड आणि डिव्हाइस आकृतीवरून पहाल, तुम्ही सुरक्षित प्रवेश बिंदूंची संख्या आणि सूचना किंवा संकेत उपकरणांची संख्या सहजपणे वाढवू शकता.
सुरक्षा यंत्रणामोठ्या वस्तू (इमारती आणि संरचना), आणि लहान वस्तू (बॉक्स, तिजोरी) आणि अगदी पोर्टेबल केस आणि सूटकेस या दोन्हींचे संरक्षण करण्यासाठी वापरले जाऊ शकते. आपण नंतरच्या बाबतीत सावधगिरी बाळगणे आवश्यक असले तरी, जर आपण सुरक्षा प्रणाली स्थापित केली असेल, उदाहरणार्थ, आपण ज्या सुटकेससह प्रवास करण्याचा निर्णय घेतला आहे, आणि चेतावणी प्रणाली एखाद्या विमानतळावर बंद झाली आहे, तर मला वाटते की आपल्याशी गंभीर संभाषण होईल स्थानिक सुरक्षा सेवा :-)

डिव्हाइसचे एक सरलीकृत ऑपरेटिंग तत्त्व खालीलप्रमाणे आहे (चित्र 1). पॉवर चालू केल्यानंतर, डिव्हाइस ऑपरेटिंग मोडमध्ये जाते आणि सशस्त्र होण्याची प्रतीक्षा करते. आर्मिंग आणि नि:शस्त्रीकरण एका बटणाने केले जाते. सुरक्षा वाढवण्यासाठी, हे बटण संरक्षित क्षेत्रामध्ये (सुरक्षित किंवा बॉक्स) ठेवणे चांगले आहे. सुरक्षा मोड चालू करण्यापूर्वी, दरवाजा किंचित उघडणे आवश्यक आहे. तुम्ही सुरक्षा मोड चालू करता तेव्हा (बटण दाबा) इलेक्ट्रॉनिक सर्किटतुम्ही खोलीचे दार बंद करेपर्यंत प्रतीक्षा करते (सुरक्षित दरवाजा, बॉक्सचे झाकण इ.).

दारावर (किंवा दरवाजा) कोणत्याही प्रकारचा मर्यादा स्विच स्थापित करणे आवश्यक आहे, त्यावर नंतर अधिक. बंद करून (किंवा उघडून), मर्यादा स्विच डिव्हाइसला सूचित करेल की संरक्षित सर्किट बंद आहे आणि डिव्हाइस सुरक्षा मोडमध्ये जाईल. दोन लहान सिग्नलसह (कार अलार्मप्रमाणे) सुरक्षा मोडमध्ये प्रवेश करण्याबद्दल सिस्टम तुम्हाला सूचित करेल. या मोडमध्ये, डिव्हाइस दरवाजा उघडणे "पकडते". दरवाजा उघडल्यानंतर, सुरक्षा मोड बंद होण्यासाठी सिस्टम काही सेकंद (हे समायोजित करण्यायोग्य मूल्य आहे, खोल्यांसाठी सुमारे दहा सेकंद, एक किंवा दोन) प्रतीक्षा करते, जर असे झाले नाही तर सायरन चालू होतो; अल्गोरिदम आणि सर्किट अशा प्रकारे डिझाइन केले आहे की आपण केवळ घरांचे पूर्णपणे पृथक्करण करून आणि वीज बंद करून सायरन बंद करू शकता.

डिव्हाइस सुरक्षा यंत्रणाअतिशय साधे (चित्र 2). बोर्डवर आधारित अर्डिनो. पुल-अप रेझिस्टरद्वारे लिमिट स्विचेस नियमित बटणाप्रमाणे जोडलेले असतात. मी शेवटच्या स्विचेसवर स्वतंत्रपणे राहीन. ते एकतर सामान्यपणे बंद किंवा सामान्यपणे खुले असतात. तुम्ही मर्यादा स्विच म्हणून नियमित बटण चालू करू शकता, फक्त हलवा नियमित बटणखूप मोठे, दरवाजा खेळणे सहसा जास्त असते. म्हणून, बटणासाठी काही प्रकारचे पुशर आणणे आणि ते स्प्रिंग करणे आवश्यक आहे जेणेकरून दरवाजासह बटण तुटू नये. बरं, जर तुम्ही खूप आळशी नसाल, तर तुम्ही दुकानात जाऊन चुंबकीय स्विच (रीड स्विच) (चित्र 3) खरेदी करू शकता, ते धूळ आणि घाणीपासून घाबरत नाही.

कार अलार्मसाठी मर्यादा स्विच देखील योग्य आहे (चित्र 4). हे नोंद घ्यावे की प्रोग्राम रीड स्विचसाठी लिहिलेला आहे. येथे बंद दरवाजात्याचा संपर्क बंद आहे. जर तुम्ही कार अलार्म स्विच वापरत असाल, तर जेव्हा दरवाजा बंद असेल तेव्हा ते बहुधा उघडे असेल आणि कोडमधील योग्य ठिकाणी तुम्हाला 0 ते 1 आणि त्याउलट बदलण्याची आवश्यकता असेल.

सायरन म्हणून, मी बेलारूसमध्ये उत्पादित PKI-1 IVOLGA ध्वनी सायरन वापरण्याचा प्रस्ताव देतो (चित्र 5). पुरवठा व्होल्टेज 9 - 15 व्ही, ऑपरेटिंग वर्तमान 20 - 30 एमए. हे बॅटरी उर्जेसह वापरण्याची परवानगी देते. त्याच वेळी, ते 95 - 105 डीबी "उत्पादन" करते.

अशा वैशिष्ट्यांसह, तो क्रोना बॅटरीमधून अनेक दहा मिनिटे आवाज करेल. मला ते 110 रूबलसाठी इंटरनेटवर सापडले. तेथे, चुंबकासह रीड स्विचची किंमत सुमारे 30 रूबल आहे. कार अलार्म स्विच ऑटो पार्ट्सवर 28 रूबलसाठी खरेदी केला गेला. KT315 ट्रान्झिस्टर कोणत्याही अक्षराने घेतले जाऊ शकते किंवा योग्य चालकतेच्या कोणत्याही आधुनिक लो-पॉवर सिलिकॉन ट्रान्झिस्टरसह बदलले जाऊ शकते. जर एका सायरनचा आवाज पुरेसा नसेल (कोणास ठाऊक, कदाचित तुम्हाला ते अनेक किलोमीटर दूरवरून ऐकायला हवे असेल), तुम्ही समांतरपणे अनेक सायरन जोडू शकता किंवा अधिक शक्तिशाली घेऊ शकता, फक्त या प्रकरणात ट्रान्झिस्टर बदलणे आवश्यक आहे. अधिक शक्तिशाली (उदाहरणार्थ, परिचित ट्रान्झिस्टर असेंब्ली ULN2003). रीड स्विच आणि सायरन कनेक्ट करण्यासाठी कनेक्टर म्हणून, मी ऑडिओ/व्हिडिओ उपकरणांसाठी सर्वात सोपा कनेक्टर वापरले - रेडिओ मार्केटमध्ये किंमत 5 रूबल आहे. एका जोडप्यासाठी.

डिव्हाइस बॉडीला प्लास्टिक किंवा प्लायवुडपासून एकत्र चिकटवले जाऊ शकते; जर एखादी गंभीर वस्तू संरक्षित केली जात असेल तर ती धातू बनविणे चांगले. विश्वासार्हता आणि सुरक्षितता वाढवण्यासाठी, केसमध्ये बॅटरी किंवा संचयक ठेवण्याचा सल्ला दिला जातो.

प्रोग्राम कोड सुलभ करण्यासाठी, ऊर्जा-बचत घटक वापरले गेले नाहीत आणि बॅटरी जास्त काळ टिकत नाहीत. इंटरप्ट इव्हेंट प्रोसेसिंग आणि MK स्लीप मोड वापरून तुम्ही कोड ऑप्टिमाइझ करू शकता, किंवा त्याहूनही चांगले, मूलत: रीमेक करू शकता. या प्रकरणात, मालिका (9 व्ही) मध्ये जोडलेल्या दोन चौरस बॅटरीची शक्ती अनेक महिन्यांसाठी पुरेशी असावी.

आता कोड

// स्थिरांक
const int बटण = 12; // बटणासाठी पिन
const int gerkon = 3; // रीड स्विचसाठी पिन
const int sirena = 2; // सायरन कंट्रोल पिन
const int led = 13; // इंडिकेटर पिन
// चल
int buttonState = 0; // बटण स्थिती
int gerkonState = 0; // रीड स्विच स्थिती
int N = 0; // निशस्त्र बटण काउंटर
शून्य सेटअप() (
// कंट्रोल सायरन आणि इंडिकेटर - आउटपुट
पिनमोड(सिरेना, आउटपुट);
पिनमोड (लेड, आउटपुट); // बटण आणि रीड स्विच - इनपुट
पिनमोड(gerkon, INPUT);
पिनमोड (बटण, इनपुट);
}
शून्य पळवाट()
डिजिटलराइट (नेतृत्व, उच्च);
while(buttonState= =0)( // आपण बटण दाबेपर्यंत लूप थांबा
buttonState = digitalRead(बटण); // सुरक्षा मोडवर स्विच करण्यासाठी
}
डिजिटलराइट (लेड, लो);
buttonState = 0; // बटण मूल्य रीसेट करा
while(gerkonState= =0)( // लूप जोपर्यंत आम्ही दरवाजा बंद करत नाही
}
विलंब (500); // :-)
डिजिटलराईट(सिरेना, उच्च); // कोड
विलंब (100); // संकेत
digitalWrite(sirena, LOW); // सक्षम करा
विलंब(70); // मोड
डिजिटलराईट(सिरेना, उच्च); // सुरक्षा
विलंब (100); // सूचना
digitalWrite(sirena, LOW); // आवाज
तेव्हा(gerkonState= =1)( // दरवाजा उघडण्याची प्रतीक्षा करा
gerkonState = digitalRead(gerkon);
}
साठी (int i=0; i<= 5; i++){ // 7,5 секунды на нажатие
buttonState = digitalRead(बटण); // गुप्त बटण
if (buttonState = = HIGH) ( // आमचे ट्रॅक - दुसऱ्याचे
N=N+1;
}
विलंब (1500); // गुप्त वैशिष्ट्य :-)))
}
जर (N > 0) ( // सर्वात महत्वाची गोष्ट
digitalWrite(sirena, LOW); // सायरन चालू करू नका
}
इतर(
डिजिटलराईट(सिरेना, उच्च); // किंवा सायरन चालू करा
}
डिजिटलराइट (नेतृत्व, उच्च); // इंडिकेटर चालू करा N = 0;
buttonState = 0;
विलंब(15000); // आवडणाऱ्या डमींसाठी स्मरणपत्र
डिजिटलराइट (लेड, लो); // विलंब न करता बटणे दाबा (1000);

वसंत ऋतु, जसे की तुम्हाला माहिती आहे, सर्व प्रकारच्या उत्तेजिततेसह आहे, आणि आता मुख्य "उत्कटता" त्याच्या छिद्रातून बाहेर रस्त्यावर रेंगाळली आहे जेणेकरुन जे त्याच्याशी संबंधित नाही ते स्वतःसाठी योग्य आहे. याचा अर्थ आपल्या मालमत्तेचे संरक्षण करण्याचा विषय पूर्वीपेक्षा अधिक प्रासंगिक होत आहे.
साइटवर आधीपासूनच होममेडची अनेक पुनरावलोकने आहेत. ते अर्थातच कार्यक्षम आहेत, परंतु प्रत्येकाकडे आहेत सामान्य वैशिष्ट्य- आउटलेटवर अवलंबित्व. जर ही एखाद्या मालमत्तेची समस्या नसेल जिथे आधीच वीज पुरवठा केला जातो, तर अशा मालमत्तेचे काय जेथे आउटलेट दूर आहे किंवा आजूबाजूचा परिसर पूर्णपणे डी-एनर्जाइज्ड आहे? मी एक वेगळा मार्ग घेण्याचे ठरवले - एक दीर्घकाळ चालणारे उपकरण एकत्र करणे जे शक्य तितके सोपे आणि मुख्य शक्तीपासून स्वतंत्र आहे, जे सर्व वेळ झोपेल, आणि जेव्हा दरोडेखोर घुसतील तेव्हा ते सुरू होईल आणि मालकाच्या फोनवर कॉल करेल, साध्या अलार्म कॉलसह सिग्नलिंग.

आयटमचे पुनरावलोकन करा

खरेदी केले:
1. ब्रेडबोर्ड एकतर्फी 5x7 सेमी: getinaks- किंवा फायबरग्लास
* - फायबरग्लास हे गेटिनॅक्स पेक्षा जास्त दर्जेदार आहे.
2. Neoway M590 मॉड्यूल - PCB वर अँटेना सह -
3. Arduino Pro Mini "RobotDyn" ATmega168PA 8MHz 3.3V -
4. लिथियम चार्ज-डिस्चार्ज कंट्रोल बोर्ड -

सभ्यतेच्या अवशेषांमधून उत्खनन:
1. बोर्डसाठी रॅक, डिव्हाइस हाउसिंगमधून कापलेले - 6 पीसी.
2. लिथियम फ्लॅट बॅटरी 1300mAh
3. भिंतीवर केबल सुरक्षित करण्यासाठी वापरलेले स्टेपल
4. स्टेशनरी खोडरबर
5. तांब्याची तार 1.5 मिमी जाडी
6. स्थानिक रेडिओ मार्केटमधील इन्स्ट्रुमेंट हाउसिंग - 1.5$
7. LEDs च्या जोडी भिन्न रंग(व्हीएचएस प्लेयरकडून घेतलेले)
8. कॅपसह अँटेना आणि बटण (वाय-फाय राउटरवरून घेतलेले)
9. 4-पिन टर्मिनल ब्लॉक (डिमरमधून घेतलेले)
10. पॉवर कनेक्टर (18650 साठी जुन्या चार्जरमधून घेतलेले)
11. 6-पिन कनेक्टर (डीव्हीडी ड्राइव्हवरून घेतलेले)
12. करू शकतो(उदाहरणार्थ कॉफी पासून)

Arduino Pro Mini "RobotDyn" Atmega 168PA 3.3V 8MHz

तपशील:
मायक्रोकंट्रोलर: ATmega168PA
डायरेक्ट ऑपरेटिंग व्होल्टेज:.8 - 5.5 व्ही
स्टॅबिलायझर LE33 द्वारे ऑपरेटिंग व्होल्टेज: 3.3 V किंवा 5 V (मॉडेलवर अवलंबून)
कार्यरत तापमान:-40°C… 105°C
इनपुट व्होल्टेज: 3.35-12V (3.3V मॉडेल) किंवा 5-12V (5V मॉडेल)
डिजिटल इनपुट/आउटपुट: 14 (ज्यापैकी 6 PWM आउटपुट म्हणून वापरले जाऊ शकतात: 3, 5, 6, 9, 10, आणि 11)
ॲनालॉग इनपुट: 6
टाइमर-काउंटर:दोन 8-बिट आणि एक 16-बिट
ऊर्जा बचत मोड: 6
इनपुट/आउटपुटद्वारे डीसी करंट: 40 एमए
फ्लॅश मेमरी: 16 KB (2 बूटलोडरसाठी वापरलेले)
रॅम: 1 KB
EEPROM: 512 बाइट्स
मेमरी रेकॉर्डिंग/मिटवणे संसाधन: 10,000 फ्लॅश/100,000 EEPROM
घड्याळ वारंवारता: 8 MHz (3.3 V मॉडेल) किंवा 16 MHz (5 V मॉडेल)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) आणि A5 (SCL)
UART TTL: 0 (RX) आणि 1 (TX)
माहिती पत्रक:

निवड पूर्णपणे अपघाताने या atmega वर पडली. एका मंचावर जिथे ऊर्जा-कार्यक्षम प्रकल्पांवर चर्चा केली गेली, टिप्पण्यांमध्ये 168 वी एटमेगा वापरण्याचा सल्ला देण्यात आला.
तथापि, मला असा बोर्ड शोधण्यासाठी टिंकर करावे लागले, कारण बऱ्याचदा सर्व लॉट 5V पासून कार्यरत 16 मेगाहर्ट्झच्या वारंवारतेवर 328 एटमॅगने भरलेले होते. माझ्या प्रकल्पासाठी, अशी वैशिष्ट्ये अगदी सुरुवातीपासूनच अनावश्यक आणि गैरसोयीची होती आणि शोध अधिक क्लिष्ट झाला.
परिणामी, मला eBay वर Atmega 168PA वर Pro Mini ची 3.3-व्होल्ट आवृत्ती मिळाली, आणि फक्त एक साधी चिनी आवृत्ती नाही, तर रशियन विकसकाकडून RobotDyn ब्रँड अंतर्गत. होय, सुरुवातीला तुमच्याप्रमाणे मलाही शंका आली. पण व्यर्थ. जेव्हा प्रकल्प आधीच एकत्र केला गेला होता, आणि AliExpress ने स्वस्त वस्तूंसाठी अनिवार्य सशुल्क वितरण सुरू केले (ज्यानंतर पार्सल अधिक वेळा गमावू लागले), मी नंतर नियमित प्रो मिनी Atmega168 (PA शिवाय) 3.3V 8MHz ची ऑर्डर दिली. मी दोन्ही बोर्डांसह पॉवर सेव्हिंग मोड्सचा थोडासा प्रयोग केला, प्रत्येकामध्ये एक विशेष स्केच फ्लॅश केला ज्याने मायक्रोकंट्रोलरला जास्तीत जास्त पॉवर सेव्हिंग मोडमध्ये ठेवले आणि हे पुढे आले:
1) Arduino Pro Mini "RobotDyn": ~250µA
2) Arduino Pro Mini “Noname”:जेव्हा व्होल्टेज स्टॅबिलायझर (RAW पिन) वर पॉवर लावली जाते आणि LED सोल्डर केली जाते, तेव्हा वर्तमान वापर ~3.92mA




- जसे तुम्ही समजता, उर्जेच्या वापरातील फरक जवळजवळ 16 पट आहे, कारण NoName's Pro Mini Atmega168+ संयोजन वापरते, ज्यापैकी MK स्वतःच खातो. 20uAचालू (मी हे स्वतंत्रपणे तपासले आहे), उर्वरित सर्व खादाड AMS1117 लिनियर व्होल्टेज कन्व्हर्टरद्वारे मोजले जाते - डेटाशीट फक्त याची पुष्टी करते:


RobotDyn मधील बोर्डच्या बाबतीत, संयोजन काहीसे वेगळे आहे - हे Atmega168PA+ आहे - येथे एक वेगळा एलडीओ स्टॅबिलायझर वापरला जातो, ज्याची उर्जा बचतीच्या दृष्टीने वैशिष्ट्ये अधिक आनंददायी ठरली:


मी ते डिसोल्डर केले नाही, म्हणून मी सांगू शकत नाही की Atmega168PA त्याच्या शुद्ध स्वरूपात किती वर्तमान वापरते. या प्रकरणात मला पुरेसे होते ~250µAनोकियाद्वारे समर्थित असताना लिथियम बॅटरी. तथापि, जर तुम्ही NoName" मदरबोर्डवरून AMS1117 अनसोल्ड केले, तर मी वर म्हटल्याप्रमाणे, नियमित ATmega168 त्याच्या शुद्ध स्वरूपात वापरतो. 20uA.
वीज पुरवठा असलेले LEDs काहीतरी तीक्ष्ण वापरून तोडले जाऊ शकतात. तो एक समस्या नाही. हेअर ड्रायरने स्टॅबिलायझर डिसोल्डर केले होते. तथापि, प्रत्येकाकडे केस ड्रायर आणि त्यासह कार्य करण्याचे कौशल्य नाही, म्हणून वरील दोन्ही पर्यायांना अस्तित्वात असण्याचा अधिकार आहे.

Neoway M590E मॉड्यूल

तपशील:
वारंवारता: EGSM900/DCS1800 ड्युअल-बँड, किंवा GSM850/1900 किंवा क्वाड-बँड
संवेदनशीलता:-107dBm
कमाल शक्तीसंसर्ग: EGSM900 Class4(2W), DCS1800 Class1(1W)
पीक वर्तमान: 2A
कार्यरत वर्तमान: 210mA
वर्तमान झोप: 2.5mA
कार्यरत तापमान:-40°C… +85°C
ऑपरेटिंग व्होल्टेज: 3.3V…4.5V (शिफारस केलेले 3.9V)
प्रोटोकॉल: GSM/GPRS फेज2/2+, TCP/IP, FTP, UDP इ.
इंटरनेट: GPRS इयत्ता 10
माहिती पत्रक:

सर्वात स्वस्त GSM मॉड्यूल जे बाजारात आढळू शकते, सहसा वापरले जाते, नेहमी कुशलतेने सोल्डर केलेले नसते चीनी हातांनीउपकरणे पासून. नेहमी निपुण का नाही? होय, हेअर ड्रायरने डिसोल्डरिंग केल्यामुळे - बहुतेकदा लोक हे मॉड्यूल शॉर्टेड प्लस आणि मायनससह प्राप्त करतात, जे त्यांच्या अकार्यक्षमतेचे एक कारण आहे. म्हणून, पहिली पायरी म्हणजे शॉर्ट सर्किटसाठी पॉवर संपर्क तपासणे.

नोंद.मला एक वेगळा महत्त्वाचा मुद्दा लक्षात घ्यायचा आहे, माझ्या मते, हे मॉड्यूल अँटेनासाठी गोल कोएक्सियल कनेक्टरसह येऊ शकतात, जे आपल्याला स्वतंत्रपणे अधिक गंभीर अँटेना ऑर्डर करण्यास आणि टँबोरिनसह नाचल्याशिवाय मॉड्यूलशी कनेक्ट करण्याची परवानगी देते. किंवा ते या कनेक्टरशिवाय येऊ शकतात. जर आपण सर्वात स्वस्त सेटबद्दल बोललो तर हे आहे. जर तुम्हाला आनंदी अपघातावर विसंबून राहायचे नसेल, तर हे कनेक्टर जेथे आहे तेथे थोडे अधिक महाग सेट आहेत + किटमध्ये टेक्स्टोलाइट बोर्डवर बाह्य अँटेना समाविष्ट आहे.

जेव्हा वीज पुरवठ्याचा विचार केला जातो तेव्हा हे मॉड्यूल देखील लहरी आहे, कारण शिखरावर ते 2A पर्यंत विद्युत् प्रवाह वापरते आणि किटमध्ये समाविष्ट केलेला डायोड 5V वरून व्होल्टेज कमी करण्यासाठी डिझाइन केलेले दिसते (म्हणूनच ते बोर्डवर 5V असे म्हणतात. ) ते 4.2V, परंतु लोकांच्या तक्रारींनुसार न्याय केल्याने, त्याच्या किंमतीपेक्षा जास्त त्रास निर्माण होतो.
समजा तुम्ही हे मॉड्यूल आधीच एकत्र केले आहे, आणि डायोडऐवजी, एक जंपर सोल्डर केला आहे, कारण आम्ही त्यास 5V चा व्होल्टेज पुरवणार नाही, परंतु परवानगी असलेल्या लिथियम बॅटरीमधून थेट उर्जा देऊ. 3.3-4.2V च्या व्होल्टेज मर्यादा.
तो कसा तरी संगणकाशी कनेक्ट करणे आणि कार्यक्षमता तपासणे आवश्यक असेल. या प्रकरणात, आपल्यासाठी एक आगाऊ खरेदी करणे चांगले आहे - त्याद्वारे आम्ही मॉड्यूल आणि अर्डिनो बोर्ड्सशी UART सीरियल इंटरफेस (USART) द्वारे संवाद साधू.
कनेक्शन चित्रात खाली दर्शविले आहे (मी शक्य तितके ते काढले):
TX मोडेम >>> RX कनवर्टर
आरएक्स मॉडेम<<< TX конвертера
बॅटरी प्लस - मॉडेम प्लस
लिथियम बॅटरीचे ऋण मॉडेमच्या GND आणि कनवर्टरच्या GND सह एकत्रित केले जाते.
मोडेम सुरू करण्यासाठी, BOOT पिन 4.7 kOhm रेझिस्टरद्वारे GND वर लावा.


दरम्यान, आपल्या संगणकावर प्रोग्राम चालवा. सेटिंग्जकडे लक्ष द्या:
1) टीटीएल कन्व्हर्टर कनेक्ट केलेले COM पोर्ट निवडा, माझ्या बाबतीत ते COM4 आहे, तुमचे वेगळे असू शकते.
2) डेटा ट्रान्सफर गती निवडा. (येथे एक सूक्ष्मता आहे, कारण मॉड्यूल स्वतःच वेगवेगळ्या वेगांसाठी कॉन्फिगर केले जाऊ शकतात, बहुतेकदा 9600 बॉड किंवा 115200 बॉड. येथे तुम्हाला ते अनुभवात्मकपणे निवडणे आवश्यक आहे, काही वेग निवडणे, कनेक्ट करणे आणि AT कमांड पाठवणे, क्रॅक आल्यास प्रतिसादात, नंतर तो डिस्कनेक्ट होईल, भिन्न गती निवडा आणि उत्तर ओके होईपर्यंत कमांड पुन्हा करा).
3) पॅकेटची लांबी निवडा (या प्रकरणात 8 बिट), पॅरिटी बिट अक्षम (काहीही नाही), स्टॉप बिट (1).
4) बॉक्स तपासण्याची खात्री करा +CR, आणि नंतर आम्ही शेवटी मॉड्यूलला पाठवलेल्या प्रत्येक कमांडमध्ये कॅरेज रिटर्न कॅरेक्टर आपोआप जोडले जाईल - मॉड्यूलला फक्त शेवटी या वर्णासह कमांड समजते.
5) कनेक्शन, येथे सर्वकाही स्पष्ट आहे, क्लिक करा आणि आम्ही मॉड्यूलसह ​​कार्य करू शकतो.

जर तुम्ही "कनेक्शन" वर क्लिक केले आणि नंतर जमिनीवर 4.7K रेझिस्टरद्वारे बूट लावून मॉड्यूल सुरू केले, तर प्रथम टर्मिनल "मॉडेम:स्टार्टअप" शिलालेख प्रदर्शित करेल, नंतर, थोड्या वेळाने, "+PBREADY" शिलालेख, याचा अर्थ असा की टेलिफोन नंबर पुस्तक वाचला गेला आहे, जरी तो रिक्त असला तरीही:

या स्पॉयलरच्या खाली उदाहरणांसह AT कमांड्स आहेत

आम्ही एटी कमांड मुद्रित करतो - प्रतिसादात, मॉड्यूल आम्हाला आमची कमांड पाठवते, कारण इको मोड सक्षम आहे आणि ठीक आहे:

चला AT+CPAS कमांडसह मॉडेमची स्थिती तपासू - प्रतिसाद पुन्हा आमची आज्ञा आहे, +CPAS: 0 आणि OK.
0 म्हणजे मॉड्यूल ऑपरेशनसाठी तयार आहे, परंतु परिस्थितीनुसार इतर नंबर असू शकतात, उदाहरणार्थ 3 – इनकमिंग कॉल, 4 – कनेक्शन मोडमध्ये, 5 – स्लीप मोड. मला 1 आणि 2 वर कोणतीही माहिती सापडली नाही.

UART द्वारे डेटा ट्रान्सफर रेट बदलणे AT+IPR=9600 या कमांडद्वारे केले जाते - जर तुम्हाला 9600 च्या गतीची आवश्यकता असेल. जर दुसरे काही असेल तर, AT+IPR=19200 सारखे, उदाहरणार्थ, किंवा AT+IPR=115200.

चला नेटवर्क सिग्नल तपासूया. AT+CSQ, प्रतिसाद येतो +CSQ: 22.1 - दशांश बिंदूच्या आधीच्या मूल्याची श्रेणी 0... 31 (115... 52 dBl) आहे - ही सिग्नल पातळी आहे, जितकी जास्त तितकी चांगली. पण 99 म्हणजे त्याची अनुपस्थिती. दशांश बिंदू नंतरचे मूल्य म्हणजे सिग्नल गुणवत्ता 0... 7 - येथे ते उलट आहे, संख्या जितकी कमी असेल तितके चांगले.

ATE0 कमांड पाठवून इको मोड अक्षम करू जेणेकरुन डुप्लिकेट कमांड्स हस्तक्षेप करणार नाहीत. ATE1 कमांड वापरून हा मोड परत चालू केला आहे.

फर्मवेअर आवृत्ती AT+GETVERS पहा



या आणि इतर अनेक आज्ञा पाहिल्या जाऊ शकतात

बोर्ड संरेखित करणे

प्रो मिनीला ब्रेडबोर्डवर सोल्डर करणे कठीण नसल्यास, जीएसएम मॉड्यूलसह ​​परिस्थिती थोडी अधिक क्लिष्ट आहे, कारण त्याची संपर्क कंगवा फक्त एका बाजूला स्थित आहे आणि जर तुम्ही ती फक्त सोल्डर केली तर बोर्डची दुसरी बाजू फक्त हवेत लटकते. नंतर, पुन्हा, मला बोर्डवरील तीन कोपऱ्यांजवळ डोळ्याद्वारे अतिरिक्त 3 छिद्रे ड्रिल करावी लागली. प्रत्येक छिद्रांभोवतीचे क्षेत्र नंतर मुखवटा घातले गेले. सोयीसाठी, मी कंगवामधून डिस्कनेक्ट केलेले लीड्स सोल्डरलेस ब्रेडबोर्ड (पांढऱ्या) वर ठेवले आणि त्यावर जीएसएम मॉड्यूल बोर्ड स्थापित करून, त्यांना सामान्यपणे सोल्डर केले:

नंतर मला आणखी एक छिद्र पाडावे लागले, माझ्या बाबतीत “I” अक्षरावर, जिथे ते “मेड इन चायना” असे लिहिलेले आहे, बोर्डच्या काठावरुन.


असे दिसून आले की जोडलेला संपर्क, जो मूलत: GND आहे, प्रो मिनी बोर्डच्या GND च्या शेजारी स्थित झाला आणि अशा प्रकारे GSM मॉड्यूल आणि प्रो मिनीच्या जमिनीला सोल्डरच्या थेंबाने जोडणे शक्य झाले (लांब मध्यभागी पिन आणि त्याच्या उजवीकडे प्रो मिनी पिन) - मी त्यांना बाणांनी चिन्हांकित केले. अर्थातच ते थोडे वाकडा झाले, परंतु आता ते सुरक्षितपणे धारण करते:



बोर्डांमध्ये काही जागा शिल्लक होती - त्यामध्ये मी प्री-सोल्डर केलेले मायक्रोयूएसबी कनेक्टर आणि सोल्डर केलेल्या तारांसह लिथियम डिस्चार्ज चार्ज कंट्रोल बोर्ड ठेवले.

स्कार्फ तिथे अगदी घट्ट बसतो आणि बाजूच्या LEDs ची चमक केसच्या छोट्या छिद्रातून स्पष्टपणे दिसेल.



कार्ड रॅक

केसच्या आत बोर्ड सुरक्षितपणे माउंट करण्यासाठी, मला हे कसे अंमलात आणता येईल याचा विचार करण्यात काही दिवस घालवावे लागले. हॉट-मेल्ट ॲडेसिव्हचा पर्याय अनेक कारणांमुळे विचारात घेतला गेला नाही - तो पडू शकतो, विकृत होऊ शकतो आणि सर्वात महत्त्वाचे म्हणजे, रचना वेगळे करणे कठीण होईल.
मी या निष्कर्षावर पोहोचलो की येथे सर्वात सोपा आणि सर्वात योग्य पर्याय म्हणजे स्टँड वापरणे, जे नैसर्गिकरित्या माझ्याकडे नव्हते. तथापि, तेथे काही नॉन-वर्किंग चार्जर होते, ज्यामधून सेल्फ-टॅपिंग स्क्रूसाठी धागा असलेला एक लांब स्टँड कापला गेला होता. प्रत्येक स्टँड अर्ध्यामध्ये कापला गेला आणि सुमारे 9.5 मिमी पर्यंत खाली दाखल केला गेला - या उंचीवर बोर्डच्या खाली असलेल्या बॅटरीमध्ये सुमारे 2 मिमीचा पुरेसा मार्जिन आहे - हे असे केले जाते जेणेकरून बोर्डचे सोल्डर केलेले संपर्क त्यांच्या टिपांसह नसतील. त्याला स्पर्श करा आणि जेणेकरून फिक्सेशनसाठी त्यांच्यामध्ये फोम घालणे शक्य होईल.
बोर्ड थेट केसमध्ये जोडण्याबद्दल, येथे मी कॉफीच्या डब्यातून चार पट्ट्या कापल्या, ज्याच्या टोकाला एक छिद्र केले, नंतर रॅकमध्ये स्क्रू केलेल्या त्याच स्क्रूवर सुरक्षित केले. ते कसे दिसते ते खालील फोटोमध्ये पहा.
पुढील पायरी म्हणजे बोर्डच्या दुसऱ्या बाजूला, म्हणजे वरच्या बाजूला दोन स्टँड्स स्क्रू करणे, जेणेकरून केस बंद केल्यावर, कव्हर या स्टँडवर थोडेसे टिकून राहते, अतिरिक्त फिक्सेशन तयार करते. थोड्या वेळाने, या हेतूने, मला सोव्हिएत प्रचार रेडिओवरून एक घर सापडले (जर ते आधी सापडले असते, तर मी येथून सर्व स्टँड घेतले असते), जिथे मला कमी-अधिक योग्य उंची आढळल्या, परंतु प्रथम मी त्यांना सेल्फ-टॅपिंग स्क्रूच्या खाली ड्रिलने मध्यभागी ड्रिल केले मग मी त्यांना पाहिलं आणि फाईलच्या सहाय्याने जास्ती काढून टाकलं. येथे मी एक सूक्ष्मता घेऊन आलो - फोटोमध्ये आपण पाहू शकता की एक पांढरा स्टँड काठावरुन गेटिनाक्स बोर्डवर स्क्रू केलेला आहे आणि दुसरा पांढरा थेट मॉड्यूल बोर्डवर स्क्रू केलेला आहे, कारण एका काठावरुन मॉडेम बोर्ड तळाशी असलेल्या बोर्डला पूर्णपणे कव्हर करतो आणि विरुद्ध काठावरुन - त्याउलट - तळाशी आधीच डोकावत आहे. त्याच वेळी, दोन्ही बोर्डांमध्ये अतिरिक्त छिद्रे ड्रिल करावी लागतील जेणेकरून स्क्रूचे डोके मुक्तपणे जाऊ शकतील.
आणि शेवटी, हे सुनिश्चित करणे बाकी आहे की बोर्ड नेहमी शरीराच्या समांतर असतो - भिंतीवरील तारा आणि केबल्सचे निराकरण करण्यासाठी वापरलेले स्टेपल या कामासाठी योग्य आहेत; कंस कोणत्याही अतिरिक्त उपकरणांशिवाय अवतल बाजूने बोर्डला चांगले चिकटून राहतात, फक्त एकच गोष्ट सिम कार्डच्या उजवीकडे आहे, ब्रॅकेटची रुंदी जास्त असल्याचे दिसून आले आणि मला ते वाळू देखील करावे लागले.
सर्व तपशील डोळ्यांद्वारे आणि प्रायोगिकरित्या समायोजित केले गेले, खाली वरील सर्वांचा फोटो आहे:



कनेक्टर्स. LEDs. बटण.

माझी कंघी संपली असल्याने, मला डीव्हीडी ड्राइव्ह बोर्डमधून 6-पिन कनेक्टर काढावा लागला, जो मी नंतर प्रो मिनीवर सोल्डर केला, हे बोर्ड फ्लॅश करण्याच्या सोयीसाठी आहे. जवळपास मी लिथियम चार्ज करण्यासाठी गोल कनेक्टर (Nokiev 3.5mm) सोल्डर केले.

6-पिन कनेक्टरचे मुख्य भाग एका फाईलसह किंचित पूर्ण झाले होते, कारण त्याच्या कडा शरीराच्या किंचित वर पसरलेल्या होत्या. चार्जिंग सॉकेट केसच्या भिंतीवर उत्तम प्रकारे बसते.

बोर्डच्या दुसऱ्या बाजूला, मी डिव्हाइस रीबूट करण्यासाठी एक बटण आणि फर्मवेअर डीबग करण्यासाठी दोन एलईडी सोल्डर केले - लाल एलईडी जीएसएम मॉड्यूलशी कनेक्ट केलेला आहे, दुसरा हिरवा एलईडी प्रो मिनीच्या 10व्या पिनशी जोडलेला आहे - हे माझ्यासाठी प्रोग्राम डीबग करणे सोपे आहे.

बॅटरी बदल

नोकिया फोनमधील सपाट नोकिया बॅटरी 18650 पेक्षा कमी सामान्य नाही, परंतु बरेच जण फक्त बॅटरीमध्ये खोलवर गेलेले संपर्क कनेक्ट करण्याच्या गैरसोयीमुळे ते वापरण्यास नकार देतात. त्यांना सोल्डर करणे अवांछित आहे, म्हणून त्यांनी प्रस्तावित केलेली पद्धत वापरण्याचा निर्णय घेण्यात आला, म्हणजे, ऑफिस इरेजर आणि तांबे वायर (1.5 मिमी जाडी) पासून स्वतः संपर्क ब्लॉक बनवा.
प्रथम, मी इरेजरच्या एका तुकड्याला दोन तारांनी पूर्व-स्ट्रिप केलेल्या टोकांसह छेद दिला, आणि त्यांना बॅटरी संपर्कांमध्ये समायोजित केले जेणेकरून त्यांच्यातील अंतर एकसारखे होईल,
मी टोके वाकवले, त्यांना सोल्डरिंग लोहाने टिन केले आणि लांब टोकांनी थोडेसे मागे खेचले जेणेकरुन परिणामी संपर्क इरेजरमध्ये परत जातील.



बॅटरी वापरून पहा:

तुम्ही कॉन्टॅक्ट ब्लॉकला रबर बँडने सुरक्षित करू शकता किंवा निळ्या इलेक्ट्रिकल टेपने लपेटू शकता, जे मी शेवटी केले.

विधानसभा.

कामाचा मुख्य भाग पूर्ण झाला आहे, फक्त ते एकत्र करणे आणि रेकॉर्ड करणे बाकी आहे.
मी बॅटरी आणि बोर्ड दरम्यान फोम रबरचा तुकडा ठेवला जेणेकरून ते नंतर केसच्या आत हलणार नाही. मी मॉड्यूलला उर्जा देण्यासाठी 2200 μF कॅपेसिटर देखील सोल्डर केले.

चार्जिंग कनेक्ट केलेले असताना:

फ्रेम. बाह्य टर्मिनल ब्लॉक.

हे केस स्थानिक रेडिओ मार्केटमध्ये $1.5 मध्ये उपलब्ध होते, जर त्याचे डॉलरमध्ये रूपांतर केले तर, 95x60x25mm मोजले जाते, जवळजवळ सिगारेटच्या पॅकेटच्या आकारासारखे. मी त्यात अनेक छिद्रे पाडली. प्रथम, 4-पिन टर्मिनल ब्लॉकसाठी, नॉन-वर्किंग डिमरमधून घेतले.
मी स्पेसरसह बोल्टमधून दोन बाह्य संपर्क पूर्णपणे मोकळे केले, लांब बोल्टसाठी छिद्र पाडले, जे शरीरावर संपूर्ण टर्मिनल ब्लॉक ठेवेल. केसवरच, अर्थातच, दोन बाह्य छिद्र मोठे असतील आणि मध्यभागी दोन लहान असतील - त्यांच्याद्वारे संपर्क थ्रेड केलेले असतील, त्यापैकी एक व्हीसीसी प्रो मिनीशी जोडलेला असेल आणि दुसरा संपर्क पिन करण्यासाठी. 2.

छिद्र पाडणे, जरी पहिल्या दृष्टीक्षेपात एक साधे कार्य असले तरी, तरीही ते कमी श्रम-केंद्रित नाही, ते चुकणे खूप सोपे आहे, म्हणून मी ते प्रथम लहान व्यासाच्या ड्रिलने केले, नंतर मोठ्या व्यासासह.

टॅक्ट बटणासाठी, मी किंचित अवतल शीर्ष असलेली टोपी निवडली, जेणेकरून केसमधील अरुंद छिद्रातून मॅच किंवा पेपर क्लिपसह पोहोचणे सोपे होईल.

कनेक्ट केलेल्या यूएसबी-टीटीएल कन्व्हर्टर केबलच्या बाबतीत बोर्ड:

अँटेना बद्दल.
अँटेना, जसे की तुम्ही संपूर्ण पुनरावलोकनात लक्षात घेतले असेल, मी वेगवेगळ्या होममेड अँटेनासह प्रयोग करत असताना सतत बदलत होता. सुरुवातीला, मॉड्यूल बोर्डवर एक गोलाकार समाक्षीय कनेक्टर होता, परंतु पाचव्या वेळी तो बाह्य अँटेनासाठी वापरला गेला तेव्हा तो फक्त खाली पडला, म्हणून लक्षात ठेवा की ते क्षीण आहे. परिणामी, मी जुन्या राउटरमधून पीसीबीवरील अँटेना फाडला आणि मॉड्यूल बोर्डवर सोल्डर केला, कारण... ते स्प्रिंग आणि वायरपेक्षा थोडे चांगले नेट पकडते.

बरं, कनेक्ट केलेल्या चार्जिंगसह पूर्णपणे एकत्र केलेले ते असे दिसते:

चाचणी. हे कसे कार्य करते:

अँटेनासह चाचण्यांव्यतिरिक्त, मी -15 फ्रॉस्टमध्ये अलार्म बाहेर कसे वागेल ते तपासले. हे करण्यासाठी, मी फक्त संपूर्ण आतील बाजू एका कंटेनरमध्ये ठेवल्या आणि रात्रभर बाल्कनीमध्ये ठेवल्या, अलार्म सुरू झाला नाही, कारण सामान्यतः स्पष्ट होते - लिथियमला ​​दंव आवडत नाही. दुसऱ्या चाचणीद्वारे याची पुष्टी झाली, जिथे मी घरी बॅटरी सोडली आणि बोर्ड बाहेर लांब तारांमधून नेला आणि त्याच दंवमध्ये एक दिवस तसाच ठेवला - हे असे कार्य केले की जणू काही घडलेच नाही. दुसरीकडे, जर अलार्म काम करत नसेल तर ते विचित्र होईल कारण ... Atmega साठी डेटाशीटमध्ये, मॉड्यूल्ससाठी आणि क्वार्ट्जसाठी, परवानगीयोग्य ऑपरेटिंग तापमान -40 अंशांपर्यंत आहे.

ऑपरेशनचे सिद्धांत बाह्य व्यत्यय वापरून आयोजित केले जाते, सुरुवातीला पिन 2 VCC वर बंद केला जातो आणि अशा प्रकारे तार्किक 1 पिनवर ठेवला जातो आणि नियंत्रक झोपलेला असतो. संपर्क तुटला आणि पिन 2 वर 0 दिसू लागताच, मायक्रोकंट्रोलर उठतो, 3रा पिन (ज्याला मॉडेमचा BOOT एका रेझिस्टरद्वारे जोडलेला असतो) जमिनीवर खाली करतो - मॉड्यूल सुरू होते, MK वेळोवेळी मॉड्यूलचे मतदान करते तत्परतेसाठी, आणि नेटवर्क पकडताच, ते कोडमध्ये निर्दिष्ट केलेल्या मालकाच्या फोन नंबरवर त्वरित कॉल पाठवते. कॉल नाकारल्यानंतर, डिव्हाइस आणखी अंतहीन कॉल न पाठवता बंद होते, जी अनेक चीनी अलार्ममध्ये समस्या आहे.

अतिरिक्त माहिती

#समाविष्ट करा #समाविष्ट करा // UART सॉफ्टवेअर लायब्ररी SoftwareSerial gsm(7, 6); // RX(7), TX(6) void wakeUp()() // रिक्त इंटरप्ट हँडलर ///////////////////////////////// ////////////// void gsmOFF())( // PORTD|=(1<<3); // ВЫКЛЮЧЕНИЕ МОДУЛЯ _delay_ms(10); // gsm.println("AT+CPWROFF"); // ПЕЧАТАЕМ КОМАНДУ OFF PORTB &=~ (1<<2); // выключить LED 10 } // //========================================= void gsmON(){ // PORTD|=(1<<6); // 6-му порту (TX) назначить 1 PORTD &= ~(1<<3); // ЗАПУСК МОДУЛЯ _delay_ms(10); // while(!gsm.find("+PBREADY")); // ждём прочтения тел. книги PORTB |= (1<<2); // включить LED 10 _delay_ms(100); // while(1){ // gsm.println("AT+CREG?"); // проверяем в сети ли модуль if (gsm.find("0,1")) break; // если сеть есть, выходим из цикла _delay_ms(400); // проверка раз в 0,4 сек } // } // /////////////////////////////////////////// // void sleepNow(){ // функция засыпания ADCSRA = 0x00; // отключить подсистему АЦП (экономия 140 мкА) PORTD&=~(1<<6); // в вывод TX поставить 0 _delay_ms(100); // set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна PWR_DOWN sleep_enable(); // включение сна attachInterrupt(0, wakeUp, LOW); // включить прерывания sleep_mode(); // sleep_disable(); // detachInterrupt(0); // отключить прерывания } void setup(){ gsm.begin(9600); // скорость работы UART DDRD = B01001000; // 3-й и 6-й выводы на выход DDRB |= (1<<2); // вывод 10 на выход gsmON(); // запуск модуля для теста gsmOFF(); // выключаем модуль } void loop(){ if (!(PIND&(1<<2))){ // если на 0-ом прерывании появился 0 gsmON(); gsm.println("ATD+79xxxxxxxxx;"); // отзваниваемся, в ответ приходит OK и CONNECT _delay_ms(100); if (gsm.find("OK")) while(1){ // ожидание сброса вызова gsm.println("AT+CPAS"); // при каждой итерации опрашиваем модуль if (gsm.find("0")) break; // если 0, то выходим из цикла while _delay_ms(100); // проверка раз в 0,1 сек } for (char i=0; i<14; i++){ PORTB|=(1<<2); // LED 10 ON _delay_ms(200); PORTB&=~(1<<2); // LED 10 OFF _delay_ms(200); } gsmOFF(); // выключить модуль _delay_ms(10); while(1); // блокируем программу } else { sleepNow(); // укладываем контроллер спать } }

सर्किट डायग्राम (चार्ज-डिस्चार्ज कंट्रोल बोर्डशिवाय)



निष्कर्ष आणि विचार. योजना.

डचा येथे अलार्म वापरला जातो, मी कामावर समाधानी आहे, तथापि, एव्हीआरच्या पुढील अभ्यासासह, पुढील सुधारणेसाठी अधिकाधिक कल्पना येतात. Arduino त्याच्या छद्म-भाषा वायरिंगने मला खरोखर अस्वस्थ केले, कारण... कामात एक अप्रिय क्षण सापडला. जेव्हा मी पोर्ट फंक्शन्स digitalWrite(); किंवा पिनमोड(); - काही कारणास्तव GSM मॉड्यूल बऱ्याचदा गोठले. परंतु त्यांना डीडीआरबी सारख्या युक्तीने बदलणे योग्य होते|=(1<केवळ पोर्ट्सवर थेट प्रवेश करण्याच्या ऑपरेशनमुळे डिव्हाइसला हेतूनुसार कार्य केले गेले.

ऊर्जा बचतीवर...
असेंबल केलेले उपकरण रिचार्ज न करता पूर्ण चार महिने काम करते आणि ते काम करत राहते, जरी "झोप" असे म्हणणे अधिक योग्य असेल. हे फक्त पांढऱ्या बटणाद्वारे रीबूट करून तपासले जाऊ शकते. 250 μA (LE33 स्टॅबिलायझरद्वारे) आणि ~1430 mAh ची बॅटरी वापरून, जरी ठीक आहे, बॅटरीच्या नवीनतेमुळे, चला ती 1000 mAh पर्यंत पूर्ण करूया, असे दिसून आले की डिव्हाइस सुमारे झोपू शकते रिचार्ज न करता 5.5 महिने. आपण अद्याप स्टॅबिलायझर काढल्यास, ऑपरेटिंग वेळ सुरक्षितपणे 10 पटीने गुणाकार केला जाऊ शकतो. परंतु माझ्या बाबतीत याची गरज नाही, कारण तुम्हाला अजूनही दर तीन महिन्यांनी एकदा सिम कार्डमधून शिल्लक खर्च करणे आवश्यक आहे, त्याच वेळी डिव्हाइस तपासले आणि रिचार्ज केले जाऊ शकते.
पुनरावलोकनात दिलेले ऊर्जा बचतीचे उदाहरण मर्यादेपासून दूर आहे, कारण डेटाशीटमधील माहितीनुसार, आपण मायक्रोकंट्रोलरची घड्याळ वारंवारता (आणि हे फ्यूज स्थापित करून केले जाते) 1 मेगाहर्ट्झपर्यंत कमी करू शकता आणि जर आपण 1.8 व्ही व्होल्टेज लागू केले तर, वापर सक्रिय मोडमध्ये 1 μA बारच्या खाली जाईल. . खुप छान! परंतु जर एमके अंतर्गत आरसी ऑसिलेटरमधून घड्याळ केले असेल तर आणखी एक समस्या दिसून येईल - UART हवा कचरा आणि त्रुटींनी भरलेली असेल, विशेषत: जर कंट्रोलर गरम किंवा थंड असेल तर.

पूर्ण झाल्यावर...
1) तोडण्यासाठी स्थापित केलेली एक सामान्य वायर फार सोयीस्कर नाही, मी हॉल सेन्सर आणि रीड स्विचसह प्रयोग करण्याची योजना आखत आहे, जरी ते नंतरचे म्हणतात की ते फारसे विश्वासार्ह नाही, कारण त्यातील संपर्क चिकटू शकतात.
2) संगणकाच्या सहभागाशिवाय आणि फ्लॅश केल्याशिवाय “मालक क्रमांक” बदलण्याची क्षमता जोडणे चांगले होईल. तुम्हाला EEPROM सह काम करावे लागेल.
3) वॉचडॉग टाइमरमधून व्यत्यय आणण्याचा प्रयत्न करा, परंतु केवळ कुतूहलासाठी नाही, परंतु जेणेकरून मायक्रोकंट्रोलर वेळोवेळी स्वतःच जागे होईल, बॅटरी व्होल्टेज मोजेल आणि बॅटरी किती कमी आहे याची जाणीव होण्यासाठी एसएमएसद्वारे परिणामी मूल्य पाठवेल.
4) सौर पॅनेल डिव्हाइस रिचार्ज करण्याची आवश्यकता पूर्णपणे काढून टाकू शकते; हे विशेषतः कमी क्षमतेच्या बॅटरीसाठी खरे असेल.
5) बर्याच काळापासून मला LiFePo4 बॅटरी विकत घ्यायची होती, जी पुनरावलोकनांनुसार, दंव चांगल्या प्रकारे सहन करू शकते, परंतु मी एक योग्य जागा शोधत असताना, वसंत ऋतु आधीच शांतपणे आला होता.
6) सौंदर्याच्या घटकावर काम करा

तुम्ही कोणता प्रो मिनी खरेदी करावा?
तुमच्याकडे हेअर ड्रायर नसेल, तर Pro Mini “RobotDyn” Atmega168PA 3.3V, काहीतरी धारदार वापरून LED काढा आणि तुमच्याकडे ~250 µA आहे.
जर तुमच्याकडे हेअर ड्रायर असेल, तर कोणतेही बोर्ड, स्टॅबिलायझर सोल्डर करा आणि वीज पुरवठ्यासाठी LED - तुम्हाला सध्याच्या वापराच्या ~20 µA मिळतात.

आतासाठी एवढेच आहे, मला आशा आहे की पुनरावलोकन मनोरंजक आणि उपयुक्त होते.

+174 खरेदी करण्याची योजना आहे आवडींमध्ये जोडा मला पुनरावलोकन आवडले +143 +278

नमस्कार, प्रिय वाचक! आजचा लेख सहज उपलब्ध घटक वापरून एक साधी गृह सुरक्षा प्रणाली तयार करण्याबद्दल आहे. हे छोटे आणि स्वस्त उपकरण तुम्हाला Arduino, मोशन सेन्सर, डिस्प्ले आणि स्पीकर वापरून घुसखोरांपासून तुमच्या घराचे संरक्षण करण्यात मदत करेल. डिव्हाइस बॅटरी किंवा संगणकाच्या USB पोर्टद्वारे समर्थित केले जाऊ शकते.

तर, चला सुरुवात करूया!

हे कस काम करत?

उबदार रक्ताच्या प्राण्यांचे शरीर इन्फ्रारेड रेडिएशन उत्सर्जित करते, जे मानवी डोळ्यांना अदृश्य आहे, परंतु सेन्सर वापरून शोधले जाऊ शकते. असे सेन्सर अशा सामग्रीचे बनलेले असतात जे उष्णतेच्या संपर्कात आल्यावर उत्स्फूर्तपणे ध्रुवीकरण करू शकतात, ज्यामुळे सेन्सरच्या मर्यादेत उष्णता स्त्रोतांचे स्वरूप शोधणे शक्य होते.

विस्तृत श्रेणीसाठी, फ्रेस्नेल लेन्स वापरल्या जातात, जे वेगवेगळ्या दिशानिर्देशांमधून आयआर रेडिएशन गोळा करतात आणि ते सेन्सरवरच केंद्रित करतात.

लेन्स त्यावर पडणाऱ्या किरणांना कसे विकृत करते हे आकृती दाखवते.

हे लक्षात घेण्यासारखे आहे की विशेषत: गरम भाग नसलेले आणि थंड रक्त असलेले रोबोट फारच कमी इन्फ्रारेड रेडिएशन उत्सर्जित करतात, म्हणून बोस्टन डायनॅमिक्सच्या कर्मचाऱ्यांनी किंवा सरपटणारे प्राणी तुम्हाला घेरण्याचा निर्णय घेतल्यास सेन्सर कार्य करू शकत नाही.

जेव्हा श्रेणीतील IR किरणोत्सर्गाच्या पातळीत बदल होतो, तेव्हा ही Arduino वर प्रक्रिया केली जाईल, त्यानंतर स्थिती LCD डिस्प्लेवर प्रदर्शित होईल, LED ब्लिंक होईल आणि स्पीकर बीप होईल.

आम्हाला काय हवे आहे?

  1. (किंवा इतर कोणतेही बोर्ड).
  2. (दोन ओळींवर 16 वर्ण)
  3. मुकुटला Arduino ला जोडण्यासाठी एक कनेक्टर
  4. (जरी तुम्ही नियमित स्पीकर वापरू शकता)
  5. यूएसबी केबल - फक्त प्रोग्रामिंगसाठी ( अंदाजे भाषांतर:हे नेहमी आमच्या Arduino सोबत येते!)
  6. संगणक (पुन्हा, फक्त प्रोग्राम लिहिण्यासाठी आणि लोड करण्यासाठी).

तसे, जर तुम्हाला हे सर्व भाग स्वतंत्रपणे खरेदी करायचे नसतील, तर आम्ही शिफारस करतो की तुम्ही आमच्याकडे लक्ष द्या. उदाहरणार्थ, आपल्याला आवश्यक असलेली प्रत्येक गोष्ट आणि त्याहूनही अधिक आमच्या स्टार्टर किटमध्ये आहे.

चला कनेक्ट करूया!

मोशन सेन्सर कनेक्ट करणे खूप सोपे आहे:

  1. आम्ही Vcc पिनला 5V Arduino शी जोडतो.
  2. आम्ही Gnd पिन Arduino च्या GND ला जोडतो.
  3. आम्ही Arduino वरून OUT पिन डिजिटल पिन क्रमांक 7 शी जोडतो

आता LED आणि स्पीकर कनेक्ट करूया. हे येथे अगदी सोपे आहे:

  1. आम्ही एलईडीचा लहान पाय (वजा) जमिनीवर जोडतो
  2. आम्ही LED चा लांब पाय (प्लस) Arduino च्या आउटपुट क्रमांक 13 ला जोडतो
  3. आउटपुट क्रमांक 10 वर लाल स्पीकर वायर
  4. काळी तार - जमिनीवर

आणि आता हार्ड भाग 1602 LCD डिस्प्लेला Arduino ला जोडत आहे. आमच्याकडे I2C शिवाय डिस्प्ले आहे, त्यामुळे आम्हाला भरपूर Arduino आउटपुटची आवश्यकता असेल, परंतु त्याचा परिणाम योग्य असेल. रेखाचित्र खाली सादर केले आहे:

आम्हाला फक्त सर्किटचा एक भाग हवा आहे (आमच्याकडे पोटेंटिओमीटरसह कॉन्ट्रास्ट समायोजन होणार नाही). म्हणून, आपल्याला फक्त खालील गोष्टी करण्याची आवश्यकता आहे:

आता तुम्हाला 1602 डिस्प्ले Arduino UNO R3 (तसेच Arduino च्या Mini ते Mega पर्यंतच्या कोणत्याही आवृत्तीशी) कसे जोडायचे हे माहित आहे.

प्रोग्रामिंग

प्रोग्रामिंगकडे जाण्याची वेळ आली आहे. खाली कोड आहे जो तुम्हाला फक्त भरायचा आहे आणि, जर तुम्ही सर्वकाही योग्यरित्या एकत्र केले असेल तर, डिव्हाइस तयार आहे!

#समाविष्ट करा int ledPin = 13; // LED pin int inputPin = 7; // पिन ज्यावर मोशन सेन्सरच्या बाहेर कनेक्ट केलेले आहे int pirState = LOW; // वर्तमान स्थिती (सुरुवातीला काहीही आढळले नाही) int val = 0; // डिजिटल इनपुटची स्थिती वाचण्यासाठी व्हेरिएबल int pinSpeaker = 10; // स्पीकर कनेक्ट केलेला पिन. PWM पिन LiquidCrystal lcd (12, 11, 5, 4, 3, 2) आवश्यक आहे; // एलसीडी डिस्प्ले व्हॉइड सेटअप सुरू करा () ( // डिजिटल पिन पिनमोड (लेडपिन, आउटपुट) वर डेटा ट्रान्समिशनची दिशा निश्चित करा; पिनमोड(इनपुटपिन, इनपुट); पिनमोड(पिनस्पीकर, आउटपुट); // डीबगिंग माहितीचे आउटपुट प्रारंभ करा सीरियल सीरियल पोर्ट द्वारे .begin(9600); // LCD डिस्प्लेवर आउटपुट सुरू करा lcd.begin(16, 2) // आम्ही आउटपुट सुरू करू // (2 अक्षरे, 0 ओळी); ) lcd.setCursor(2, 0); // LCD डिस्प्ले lcd.print("P.I.R Motion"); // lcd.setCursor(5, 1) आउटपुट ("सेन्सर"); ); // आउटपुट विलंब (5000); lcd.setCursor(3, 0); lcd.setCursor("मोशन..."); रीडिंग सेन्सर val = digitalRead(inputPin); if (val == HIGH) (// जर हालचाल असेल, तर LED लाइट करा आणि सायरन चालू करा digitalWrite(ledPin, HIGH); प्लेटोन(300, 300); विलंब(150); // जर या क्षणापर्यंत कोणतीही हालचाल झाली नसेल, तर आम्ही एक संदेश प्रदर्शित करतो // तो आढळला आहे // खालील कोड फक्त स्थितीत बदल लिहिण्यासाठी आवश्यक आहे आणि प्रत्येक वेळी मूल्य मुद्रित करू नये जर (pirState == LOW) ( Serial.println( "मोशन आढळले!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("मोशन आढळले!"); pirState = HIGH; ) इतर (// गती असल्यास डिजीटल राइट (ledPin, LOW) वर आहे (300 विलंब असल्यास (pirState == उच्च) "); lcd.clear() ; lcd.setCursor(3, 0); lcd.print("वाट पाहत आहे"); lcd.setCursor(3, 1); lcd.print("Motion...."); / ध्वनी प्लेबॅक कार्य. कालावधी (कालावधी) - मिलीसेकंदांमध्ये, वारंवारता (वारंवारता) - हर्ट्झ शून्य प्लेटोनमध्ये (दीर्घ कालावधी, इंट फ्रिक्वेन्सी) ( कालावधी *= 1000; इंट कालावधी = (1.0 / वारंवारता) * 100000; दीर्घकाळ_काल = 0; तर (गेलेला_समय)< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }



आम्ही वाचण्याची शिफारस करतो

वर