- आवश्यकताएँ:
- सॉफ्टवेयर्स डाउनलोड और इंस्टॉल करना:
- Arduino हार्डवेयर भाग और सर्किट आरेख:
- Arduino सॉफ्टवेयर भाग:
- अल्ट्रासोनिक रडार के लिए Android मोबाइल एप्लिकेशन:
- कार्य स्पष्टीकरण:
यह एक दिलचस्प परियोजना है जिसमें हम एक Arduino और Android की शक्ति का पता लगाने के लिए एक निगरानी उपकरण बनाते हैं जो Arduino और Ultra Sonic Sensor का उपयोग करके ब्लूटूथ का उपयोग करके मोबाइल एप्लिकेशन (Android) को सूचना प्रसारित करता है ।
सुरक्षा और सुरक्षा युगों से हमारी प्राथमिक चिंता रही है। एक सुरक्षा कैमरा स्थापित करना जिसमें झुकाव और पैन विकल्प के साथ नाइट मोड है, हमारी जेब पर एक बड़ा छेद जला देगा। इसलिए आइए हम एक आर्थिक उपकरण बनाते हैं जो लगभग वैसा ही होता है लेकिन बिना किसी वीडियो फीचर के।
यह डिवाइस अल्ट्रासोनिक सेंसर की मदद से वस्तुओं को महसूस करता है और इसलिए रात के समय भी काम कर सकता है । इसके अलावा, हम एक सर्वो मोटर के ऊपर US (अल्ट्रा सोनिक) सेंसर लगा रहे हैं, इस इमदादी मोटर को या तो क्षेत्र को स्कैन करने के लिए स्वचालित रूप से घुमाने के लिए सेट किया जा सकता है या अपने मोबाइल ऐप का उपयोग करके मैन्युअल रूप से घुमाया जा सकता है, ताकि हम अल्ट्रासोनिक सेंसर को ध्यान में रख सकें हमारी आवश्यक दिशा और वहां मौजूद वस्तुओं को समझें। यूएस सेंसर द्वारा संवेदित सभी जानकारी को ब्लूटूथ मॉड्यूल (HC-05) का उपयोग करके हमारे स्मार्ट फोन पर प्रसारित किया जाएगा। तो यह सोनार या रडार की तरह काम करेगा।
दिलचस्प सही ??…. आइए देखें कि इस परियोजना को करने के लिए हमें क्या करना होगा।
आवश्यकताएँ:
हार्डवेयर:
- A + 5V बिजली की आपूर्ति (मैं बिजली आपूर्ति के लिए अपने Arduino (एक और) बोर्ड का उपयोग कर रहा हूं)
- Arduino Mega (आप प्रो मिनी से यूं कुछ भी उपयोग कर सकते हैं)
- सर्वो मोटर (कोई भी रेटिंग)
- ब्लूटूथ मॉड्यूल (HC-05)
- अल्ट्रा सोनिक सेंसर (HC-SR04)
- ब्रेडबोर्ड (अनिवार्य नहीं)
- तारों को जोड़ना
- Android मोबाइल
- प्रोग्रामिंग के लिए कंप्यूटर
सॉफ्टवेयर:
- Arduino सॉफ्टवेयर
- Android एसडीके
- Android प्रसंस्करण (मोबाइल एप्लिकेशन बनाने के लिए)
एक बार जब हम अपनी सामग्री के साथ तैयार हो जाते हैं, तो हम हार्डवेयर का निर्माण शुरू करते हैं। मैंने इस ट्यूटोरियल को आसानी से समझने के लिए Arduino Part और प्रोसेसिंग पार्ट में विभाजित किया है । जो लोग प्रसंस्करण के लिए नए हैं उन्हें बहुत डरने की ज़रूरत नहीं है क्योंकि पूरा कोड ट्यूटोरियल के अंत में दिया गया है जो इस तरह के रूप में इस्तेमाल किया जा सकता है।
सॉफ्टवेयर्स डाउनलोड और इंस्टॉल करना:
यहां से Arduino IDE इंस्टॉल किया जा सकता है। अपने ओएस के अनुसार सॉफ्टवेयर डाउनलोड करें और इसे इंस्टॉल करें। Arduino IDE को आपके Arduino हार्डवेयर के साथ संवाद करने के लिए ड्राइवर की आवश्यकता होगी। एक बार जब आप अपने बोर्ड को अपने कंप्यूटर से जोड़ते हैं तो यह ड्राइवर अपने आप इंस्टाल हो जाना चाहिए। यह सुनिश्चित करने के लिए कि आप Arduino ऊपर और चल रहे हैं, उदाहरणों से एक ब्लिंक प्रोग्राम अपलोड करने का प्रयास करें।
प्रसंस्करण आईडीई यहां से स्थापित किया जा सकता। प्रसंस्करण एक उत्कृष्ट खुला स्रोत अनुप्रयोग है जिसका उपयोग कई चीजों के लिए किया जा सकता है, इसमें विभिन्न मोड हैं। "जावा मोड" में हम विंडोज़ कंप्यूटर एप्लिकेशन (.EXE फाइलें) बना सकते हैं और "एंड्रॉइड मोड" में हम एंड्रॉइड मोबाइल एप्लिकेशन (.APK फाइलें) बना सकते हैं, इसमें अन्य मोड जैसे "पायथन मोड" भी हैं, जहां आप आपको पायथन प्रोग्राम लिख सकते हैं। । यह ट्यूटोरियल प्रसंस्करण की मूल बातें को कवर नहीं करेगा, इसलिए यदि आप यहाँ इस महान YouTube चैनल पर जावा प्रोग्रामिंग या प्रोसेसिंग हेड सीखना चाहते हैं।
Arduino हार्डवेयर भाग और सर्किट आरेख:
इस परियोजना में सर्वो मोटर, ब्लूटूथ मॉड्यूल, अल्ट्रासोनिक सेंसर आदि जैसे बहुत सारे घटक शामिल हैं । इसलिए यदि आप एक पूर्ण शुरुआत हैं तो यह कुछ बुनियादी ट्यूटोरियल के साथ शुरू करने की सिफारिश की जाएगी जिसमें ये घटक शामिल हैं और फिर यहाँ वापस आएँगे। यहां सर्वो मोटर, ब्लूटूथ मॉड्यूल और अल्ट्रासोनिक सेंसर पर हमारे विभिन्न प्रोजेक्ट देखें।
सभी घटक केवल Arduino द्वारा संचालित नहीं हैं क्योंकि, सर्वो मोटर, ब्लूटूथ मॉड्यूल और यूएस सेंसर पूरी तरह से बहुत अधिक वर्तमान खींचते हैं जो Arduino स्रोत के लिए सक्षम नहीं होगा। इसलिए किसी भी बाहरी + 5 वी आपूर्ति का उपयोग करना कड़ाई से उचित है । यदि आपकी पहुंच में बाहरी + 5 वी आपूर्ति नहीं है, तो आप दो Arduino बोर्डों के बीच घटकों को साझा कर सकते हैं जैसा मैंने किया है। मैंने एक अन्य Arduino बोर्ड (लाल रंग) के लिए सर्वो पावर रेल्स को कनेक्ट किया है और ब्लूटूथ मॉड्यूल HC-05 और अल्ट्रासोनिक सेंसर HC-SR04 को Arduino मेगा से जोड़ा है। चेतावनी: एक Arduino बोर्ड का उपयोग करके इन सभी मॉड्यूल को पावर करना Arduino वोल्टेज नियामक को भून देगा।
इस Arduino आधारित सोनार परियोजना के लिए कनेक्शन आरेख नीचे दिया गया है:
एक बार कनेक्शन बनाने के बाद, नीचे दिखाए गए अनुसार अपने इमदादी मोटर पर यूएस सेंसर माउंट करें:
मैंने एक छोटे से प्लास्टिक के टुकड़े का उपयोग किया है जो मेरे कबाड़ में था और सेंसर को माउंट करने के लिए एक डबल साइड टेप था। आप ऐसा करने के लिए अपने खुद के विचार के साथ आ सकते हैं। बाजार में उपलब्ध सर्वो धारक भी हैं जिनका उपयोग उसी उद्देश्य के लिए किया जा सकता है।
एक बार सर्वो माउंट हो जाने और कनेक्शन दिए जाने के बाद, इसे कुछ इस तरह दिखना चाहिए।
किसी भी कनेक्शन गलत होने पर शीर्ष पर स्कीमाटिक्स का पालन करें। अब हम Arduino IDE का उपयोग करके Arduino Mega की प्रोग्रामिंग शुरू करते हैं।
Arduino सॉफ्टवेयर भाग:
हमें अपना कोड लिखना होगा ताकि हम किसी ऑब्जेक्ट और अल्ट्रा सोनिक सेंसर के बीच की दूरी की गणना कर सकें और इसे अपने मोबाइल एप्लिकेशन पर भेज सकें। हमें अपने इमदादी मोटर को स्वीप करने के लिए कोड भी लिखना होगा और ब्लूटूथ मॉड्यूल द्वारा प्राप्त डेटा से नियंत्रित भी होना होगा। लेकिन इस बात की चिंता मत करो कि कार्यक्रम बहुत आसान है जितना आप इमेजिन कर सकते हैं, अरड्यूनो और उसके पुस्तकालयों के लिए धन्यवाद। पूरा कोड कोड सेक्शन में नीचे दिया गया है।
नीचे फ़ंक्शन का उपयोग इमदादी मोटर को स्वचालित रूप से बाएं से दाएं (170 से 10) और फिर से दाएं से बाएं (10 से 170) तक स्वीप करने के लिए किया जाता है । दो के लिए छोरों एक ही प्राप्त करने के लिए उपयोग किया जाता है। फंक्शन us () सेंसर और ऑब्जेक्ट के बीच की दूरी की गणना करने और इसे ब्लूटूथ पर प्रसारित करने के लिए दोनों फ़ंक्शन के अंदर कहा जाता है। इमदादी को धीरे-धीरे घुमाने के लिए 50 एमएस की देरी दी जाती है। धीमी गति से मोटर घूमता है जो आपकी रीडिंग बन जाती है।
// ** सर्वो के लिए फंक्शन स्वीप करने के लिए ** // शून्य सर्वफुन () {Serial.println ("स्वीपिंग"); // के लिए डिबगिंग के लिए (पीएससी = 10; पीएससी <= 170; पीएससी ++) // 10 से 170 डिग्री का उपयोग करना 0 से 180 तक सुरक्षित है क्योंकि कुछ सर्वो चरम स्वर्गदूतों पर कार्य नहीं कर सकते हैं {servo.write (पीओएस); // सर्वो मोटर विलंब की स्थिति निर्धारित करें (50); हमें (); // वस्तुओं की दूरी को मापने के लिए US सेंसर} (posc = 170; posc> = 10; posc--) {servo.write (posc) गाएं; देरी (50); हमें (); // वस्तुओं की दूरी को मापने अमेरिकी सेंसर गाओ} Serial.println ("स्कैन पूरा"); // डिबगिंग ध्वज के लिए = 0; } // ** सर्वो स्वीपिंग फंक्शन का अंत ** //
जैसा कि पहले कहा गया था कि स्मार्ट फोन से इमदादी मोटर को मैन्युअल रूप से नियंत्रित किया जा सकता है । आप बस मोटर को दाईं ओर स्वाइप करने के लिए स्वाइप करें और बाईं ओर स्वाइप करके मोटर को ले जाएँ। उपरोक्त फ़ंक्शन का उपयोग उसी को प्राप्त करने के लिए किया जाता है। सर्वो मोटर की परी सीधे ब्लूटूथ मॉड्यूल द्वारा प्राप्त की जाएगी और चर ब्लूटूथडैटा में संग्रहीत की जाएगी, फिर सर्वो उस विशेष परी में लाइन servo.write (ब्लूटूथडाटा) का उपयोग करके स्थिति में है ।
// ** मैन्युअल रूप से नियंत्रित करने के लिए कार्य ** ** शून्य मैनुअलवेरो () {हमसे (); // उपयोगकर्ता से मूल्य प्राप्त करें और अगर (Blueboy.available ()) {BluetoothData = Blueboy.read () नियंत्रण करें; Serial.println (BluetoothData); servo.write (BluetoothData); सिरियल.प्रिंटल ("लिखित"); अगर (BluetoothData == 'p') {फ्लैग = 0; }}} // __ मैनुअल कंट्रोल फ़ंक्शन का अंत __ //
वस्तु से पहले दूरी वर्तमान नीचे समारोह से गणना की जाएगी । यह एक सरल सूत्र के साथ काम करता है जो स्पीड = दूरी / समय। चूँकि हम जानते हैं कि अमेरिकी लहर की गति और दूरी तय करने के समय की गणना उपरोक्त सूत्रों का उपयोग करके की जा सकती है।
// ** दूरी को मापने का कार्य ** // हमें शून्य () {इंट अवधि, दूरी; digitalWrite (ट्राइगिन, हाई); देरीमाइक्रोसेकंड (1000); digitalWrite (trigPin, LOW); अवधि = पल्स इन (इकोपिन, हाई); दूरी = (अवधि / 2) / 29.1; // सेंसर से दूरी की गणना करता है यदि (दूरी <200 && दूरी> 0) Blueboy.write (दूरी); } // __ दूरी मापने का कार्य __ //
यदि आपको कार्यक्रम में कोई संदेह है, तो अपनी इच्छाओं के लिए टिप्पणी अनुभाग का उपयोग करने के लिए स्वतंत्र महसूस करें। इसलिए, एक बार जब हम अपने कोड के साथ तैयार हो जाते हैं तो हम कोड को सीधे हमारे हार्डवेयर में डंप कर सकते हैं। लेकिन निगरानी उपकरण तब तक काम करना शुरू नहीं करेगा जब तक कि यह एंड्रॉइड एप्लिकेशन से जुड़ा न हो। पूरी तरह से काम करने के लिए अंत में वीडियो भी देखें ।
अल्ट्रासोनिक रडार के लिए Android मोबाइल एप्लिकेशन:
यदि आप अपना खुद का एप्लिकेशन नहीं बनाना चाहते हैं और इसके बजाय इस ट्यूटोरियल में उपयोग किए गए समान एप्लिकेशन को इंस्टॉल करना चाहते हैं तो आप नीचे दिए गए चरणों का पालन कर सकते हैं।
1. आप सीधे नीचे दिए गए लिंक से एपीके फ़ाइल डाउनलोड कर सकते हैं । यह एपीके फ़ाइल 4.4.2 और उसके बाद के संस्करण के लिए बनाई गई है। ज़िप फ़ाइल से एपीके फ़ाइल निकालें।
निःशुल्क अल्ट्रासोनिक रडार के लिए Android आवेदन
2. अपने कंप्यूटर से अपने मोबाइल फ़ोन पर.Apk फ़ाइल स्थानांतरित करें।
3. अपने एंड्रॉइड सेटिंग्स में अज्ञात स्रोतों से एप्लिकेशन इंस्टॉल करने में सक्षम करें।
4. एप्लिकेशन इंस्टॉल करें।
यदि सफलतापूर्वक स्थापित किया गया है, तो आपको नीचे दिखाए गए अनुसार आपके फोन पर "जेल्वेल" नाम का एप्लिकेशन इंस्टॉल होगा:
यदि आपने यह एपीके इंस्टॉल किया है, तो आप नीचे के हिस्से को छोड़ कर अगले भाग पर जा सकते हैं।
प्रसंस्करण का उपयोग कर अपने स्वयं के अनुप्रयोग प्रोग्रामिंग:
या तो आप ऊपर दी गई.APK फ़ाइल का उपयोग कर सकते हैं या आप यहां बताए गए प्रसंस्करण का उपयोग करके अपना खुद का ऐप बना सकते हैं। प्रोग्रामिंग के बारे में बहुत कम जानकारी होने के कारण अपने Android एप्लिकेशन के लिए अपना कोड लिखना बहुत आसान है। हालाँकि यदि आप अभी शुरुआत कर रहे हैं तो शुरुआत के स्तर से थोड़ा अधिक होने के बाद से इस कोड के साथ शुरू करना उचित नहीं है।
इस कार्यक्रम में दो लाइब्रेरी का उपयोग किया जाता है, जिसका नाम है “केतई लाइब्रेरी” और “कंट्रोलपी 5 लाइब्रेरी” । केटाई लाइब्रेरी का उपयोग हमारे मोबाइल फोन के अंदर मौजूद सभी हार्डवेयर को नियंत्रित करने के लिए किया जाता है। आप जैसे फोन की बैटरी लेवल, प्रॉक्सिमिटी सेंसर वैल्यू, एक्सेलेरोमीटर सेंसर वैल्यू, ब्लूटूथ कंट्रोल ऑप्शन आदि चीजें इस लाइब्रेरी से आसानी से एक्सेस कर सकते हैं। इस कार्यक्रम में हम इस लाइब्रेरी का उपयोग फोन ब्लूटूथ और Arduino ब्लूटूथ (HC-05) के बीच संचार स्थापित करने के लिए करते हैं। "ControlP5 पुस्तकालय" हमारे रडार प्रणाली के लिए भूखंड रेखांकन किया जाता है।
पूरा एंड्रॉयड कार्यक्रम से जुड़ा हुआ है, तो आप इसे यहाँ से डाउनलोड कर सकते हैं।
चेतावनी: उपर्युक्त पुस्तकालयों को स्थापित करने के लिए मत भूलना और अकेले कोड भाग को कॉपी पेस्ट न करें, क्योंकि कोड डेटा फ़ोल्डर से छवियों को आयात करता है जो पूरी तरह से उपरोक्त अनुलग्नक में दिया गया है। इसलिए केवल वही डाउनलोड करें और उपयोग करें।
एक बार जब आप कोडिंग भाग के साथ कर लेते हैं और सफलतापूर्वक इसे संकलित कर लेते हैं, तो आप अपने मोबाइल फोन को सीधे डेटा केबल के माध्यम से अपने कंप्यूटर से कनेक्ट कर सकते हैं और अपने मोबाइल फोन पर एप्लिकेशन को डंबल करने के लिए प्ले बटन पर क्लिक कर सकते हैं। हमारे अन्य प्रसंस्करण परियोजनाओं की भी जाँच करें: पिंग पोंग गेम का उपयोग करके Arduino और Smart Phone नियंत्रित एफएम रेडियो का उपयोग करके प्रसंस्करण।
कार्य स्पष्टीकरण:
अब, हम अपने हार्डवेयर और सॉफ्टवेयर पार्ट के साथ तैयार हैं। अपने हार्डवेयर को पावर करें और अपने मोबाइल को ब्लूटूथ मॉड्यूल में पेयर करें । एक बार अपना "ज़ेलेवल" एप्लिकेशन खोलें जिसे हमने अभी स्थापित किया है और अब एक सेकंड के लिए प्रतीक्षा करें और आपको अपने ब्लूटूथ मॉड्यूल (HC-05) को स्वचालित रूप से अपने स्मार्ट फोन के साथ कनेक्ट होने की सूचना देनी चाहिए । एक बार कनेक्शन स्थापित हो जाने के बाद आपको निम्न स्क्रीन मिलेगी:
आप देख सकते हैं कि यह स्क्रीन के शीर्ष पर डिवाइस नाम (हार्डवेयर पता) से जुड़ा हुआ है। यह इमदादी मोटर की वर्तमान परी और अमेरिकी सेंसर के बीच की दूरी को भी प्रदर्शित करता है । मापी गई दूरी के आधार पर लाल रंग की पृष्ठभूमि पर एक नीला ग्राफ भी रखा गया है। नीले रंग के क्षेत्र में वस्तु जितनी अधिक होती है उतनी ही अधिक लंबी होती है। जब कुछ वस्तुओं को पास रखा जाता है, तो मापा जाने वाला ग्राफ भी ऊपर की दूसरी आकृति में दिखाया गया है।
जैसा कि पहले कहा गया था कि आप अपने मोबाइल ऐप से अपनी सर्वो मोटर को भी नियंत्रित कर सकते हैं । ऐसा करने के लिए, बस स्टॉप बटन पर क्लिक करें। यह आपके सर्वो को स्वचालित रूप से स्वीप करने से रोक देगा। आप स्क्रीन के नीचे एक गोलाकार पहिया भी देख सकते हैं, जब स्वाइप घड़ी या विरोधी घड़ी की दिशा में घूमेगा। इस पहिये को स्वाइप करके आप अपने सर्वो मोटर को उस विशेष दिशा में मोड़ सकते हैं। पहिया और ग्राफ जब स्वाइप किया जाता है तो नीचे दी गई तस्वीर में दिखाया गया है।
Arduino Code नीचे दिया गया है और Android Application के लिए APK फ़ाइल यहाँ है। पूर्ण परियोजना का कार्य नीचे दिए गए वीडियो में दिखाया गया है। आशा है कि आप परियोजना को समझ गए होंगे। यदि आपके पास कोई क्वायर है, तो कृपया नीचे टिप्पणी अनुभाग का उपयोग करें।