विषयसूची:
- चरण 1: आपको क्या चाहिए
- चरण 2: दस्तावेज़ीकरण
- चरण 3: अल्ट्रासोनिक सेंसर समर्थन तैयार करें
- चरण 4: एक प्रोटोटाइप बोर्ड में सब कुछ माउंट करें
- चरण 5: अंतिम कनेक्शन बनाना
- चरण 6: प्रोग्राम को बूट करना
- चरण 7: सी कोड को समझना
- चरण 8: जावा कोड को समझना
- चरण 9: निष्कर्ष
वीडियो: प्रोजेक्ट 3: सोनारडुइनो: 9 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
प्रिय साथी शौकिया, इस प्रोजेक्ट में हम ऑब्जेक्ट डिटेक्शन के लिए 360 डिग्री रडार सिस्टम होने की संभावना तलाशेंगे। इस मॉड्यूल को अलग से सेट करने से आपका हरकत रोबोट अपने आसपास की सीमाओं का पता लगा सकेगा। यह अंधेरे में एक नौवहन उपकरण के रूप में भी काम कर सकता है, लेकिन केवल तभी जब आप काफी धीमी गति से चलते हैं;p
चरण 1: आपको क्या चाहिए
इस बिल्ड को बनाने के लिए आपको निम्नलिखित खरीदना होगा:
Arduino नैनो:
प्रोटोटाइप बोर्ड: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cb8a70ef4:g:cQ4AAOSw ~ Zbl232: आरके: 13: पीएफ: 0
सर्वो मोटर्स:
अल्ट्रासोनिक सेंसर: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5fd:g:w ~IAAOSw--xbD5Fp:rk:2:pf:0
चरण 2: दस्तावेज़ीकरण
जैसा कि आप में से कुछ लोग इसे पहले से ही जानते होंगे, यह परियोजना एक अन्य ओपन-सोर्स प्रोजेक्ट से प्रेरित है, जिसे "अरुडिनो रडार प्रोजेक्ट" कहा जाता है, जिसे "हाउ टू मेक्ट्रोनिक्स" @ निम्नलिखित लिंक से बनाया गया है: https://howtomechatronics.com/projects/arduino -राडार-परियोजना/
एक अन्य बिंदु जिसके लिए दस्तावेज़ीकरण की आवश्यकता है, वह है निम्नलिखित दो पुस्तकालयों को अपने विकास परिवेश में डाउनलोड करना:
एडफ्रूट-जीएफएक्स-लाइब्रेरी:
Adafruit_SSD1306:
ऐसा कहा जा रहा है, सी कोड को वास्तव में समझने के लिए आपको उपरोक्त दोनों पुस्तकालयों के कुछ दस्तावेज करने की आवश्यकता होगी। इसके अलावा, मेरे कोड में मेरे द्वारा उपयोग किए जाने वाले कार्यों में ऐसे नाम हैं जो बताते हैं कि वे क्या करते हैं।
चरण 3: अल्ट्रासोनिक सेंसर समर्थन तैयार करें
कार्डबोर्ड का कोई भी टुकड़ा लें और इसे सेंसर से जुड़े कनेक्टिंग केबल के आयाम के अनुसार काटें जैसा कि पहली तस्वीर में दिखाया गया है। उसके बाद, इसे आखिरी मोड़ें और इसे सर्वो मोटर सपोर्ट पर गोंद दें। एक बार ऐसा करने के बाद, अंतिम तस्वीर के अनुसार दो अल्ट्रासोनिक सेंसर को गोंद दें। ध्यान दें कि सेंसर के हेडर को इस तरह से मिलाया जाना चाहिए कि सेंसर के सामने केबल बाहर की ओर निकल जाए। यह 360 डिग्री रोटेशन लागू होने पर सेंसर केबल को एक दूसरे के साथ हस्तक्षेप नहीं करने देगा।
चरण 4: एक प्रोटोटाइप बोर्ड में सब कुछ माउंट करें
इस चरण में आप पिछले चरण में तैयार किए गए हेडर को उसके संबंधित सर्वो मोटर में माउंट करके शुरू करेंगे। एक बार जब सर्वो मोटर सावधानी से आदी हो जाती है, तो आप सब कुछ एक साथ एक प्रोटोटाइप बोर्ड में माउंट कर देंगे। आप Arduino नैनो को सोल्डर करके शुरू करेंगे और उसके ठीक बगल में सर्वो को ग्लू करके शुरू करेंगे। अंत में आप बोर्ड के दूसरे किनारे पर छोटे OLED डिस्प्ले को मिलाप करेंगे।
चरण 5: अंतिम कनेक्शन बनाना
यह कदम इस परियोजना के हार्डवेयर पक्ष को समाप्त करेगा। सभी आवश्यक कनेक्शन स्थापित करने के लिए आपको प्रदान की गई योजनाओं का पालन करना होगा।
चरण 6: प्रोग्राम को बूट करना
दो कोड हैं जिन्हें आपको बूट करने की आवश्यकता होगी
Arduino (सी):https://github.com/ReconaisantL/RadarDuino/blob/master/radarduino.ino
प्रसंस्करण (जावा):https://github.com/ReconaisantL/RadarDuino/blob/master/radarduino_java.pde
कोड चलाते समय, आपके पास चुनने के लिए दो विकल्प होंगे:
विकल्प 1: OLED डिस्प्ले का उपयोग करने के लिए, आपको C कोड में वेरिएबल MODE को 0 पर सेट करना होगा।
विकल्प २: अपने मॉनिटर का उपयोग करते हुए, उसके लिए आपको सी कोड में वेरिएबल मोड को १ पर सेट करना होगा। इसके अलावा, आपको प्रोसेसिंग डेवलपमेंट एनवायरनमेंट को डाउनलोड और इंस्टॉल करना होगा और इस लिंक से रडार फॉन्ट डाउनलोड करना होगा: https:// github.com/lastralab/ArduinoRadar/blob/ma…
और उस फाइल को अपनी प्रोसेसिंग कोड फाइल में जोड़ें ताकि कॉल करने पर आपका जावा कोड फॉन्ट को पहचान सके।
चरण 7: सी कोड को समझना
कोड में मुख्य रूप से दो 'फॉर' लूप होते हैं। एक का संबंध फॉरवर्ड पास से है जबकि दूसरा बैकवर्ड पास से। इन दोनों के अंदर, मुख्य फ़ंक्शन draw_scanner (), जो स्क्रीन पर रडार की रेखाएँ खींचेगा, कई बार कहा जाता है। कई विन्यासों का परीक्षण करने के बाद, मैं इस निष्कर्ष पर पहुंचा कि हमें समय t पर सफेद रडार लाइनों को हटाने के लिए उन्हें हटाने के लिए समय t + 1 पर उन्हीं राडार लाइनों के साथ काले रंग में ओवरराइट करने की आवश्यकता है। यदि अन्यथा, हर बार जब आप नए पिक्सेल ग्रिड को पुश करने से पहले "clearDisplay ()" फ़ंक्शन का उपयोग करके डिस्प्ले को साफ करते हैं तो झिलमिलाहट होती है। जैसा कि मैं 7 लाइनों के साथ काम कर रहा था - डिजाइन उद्देश्यों के लिए - मुझे 7 तत्वों की पूर्णांक सरणी को सहेजना और पास करना था, जहां प्रत्येक तत्व रडार के केंद्र के बीच त्रिज्या के लिए खड़ा होता है, यदि कोई हो। इसे ध्यान में रखते हुए, शेष कोड को समझने के लिए सीधे आगे होना चाहिए।
चरण 8: जावा कोड को समझना
प्रसंस्करण में, मुझे सीरियलएवेंट () के लिए फ़ंक्शन कॉल को बायपास करना पड़ा, जो केवल COM नामक सीरियल पोर्ट के साथ काम करता है। जैसा कि मैं एक मैक पर काम कर रहा था, मेरे सीरियल पोर्ट एक अलग नाम से आए। कहा जा रहा है, मैंने "ड्रा ()" को संसाधित करने में उस फ़ंक्शन को मुख्य फ़ंक्शन में अनपैक किया। बाकी सब चीजों के बारे में, मैंने पूर्ण क्रांति डिजाइन को पूरा करने के लिए एप्लिकेशन को अपडेट किया है। अंत में, मैंने स्क्रीन की चौड़ाई के संबंध में सभी खींची गई आकृतियों और ग्रंथों को अपडेट किया ताकि अंतिम उत्पाद विभिन्न स्क्रीन रिज़ॉल्यूशन में फिट हो सके। मैंने व्यक्तिगत रूप से 1000X1000 और 500X500 दोनों प्रस्तावों के लिए इसका परीक्षण किया है, और यह ठीक काम करता है:)।
चरण 9: निष्कर्ष
इस काम को 3 अल्ट्रासोनिक सेंसर में अपग्रेड किया जा सकता है, प्रत्येक 120 व्यू एंगल को कवर करता है, या यहां तक कि 4 सेंसर (90 डिग्री * 4) -> तेज 360 डिग्री। स्कैन।
आप राडार की सीमा को 40 सेमी से 60 सेमी या 80 सेमी तक भी बढ़ा सकते हैं। मैंने व्यक्तिगत रूप से पल्सइन फ़ंक्शन का परीक्षण किया है और TIMEOUT चर को 40 सेमी के संबंध में समायोजित किया है। यह चर कई कारकों पर निर्भर करता है, जिसमें पल्स भेजने की लंबाई और उस वस्तु की सतह जहां पल्स परावर्तित होती है।
अंत में जैसा कि पहले कहा गया है, अगला कदम आसपास की परिधि को स्कैन करने के लिए एक हरकत रोबोट के साथ राडारडुइनो को शामिल करना है।
सिफारिश की:
डोपामाइन बॉक्स - माइक बॉयड के समान एक प्रोजेक्ट - नॉट बीइंग माइक बॉयड: 9 कदम
डोपामाइन बॉक्स | माइक बॉयड के समान एक प्रोजेक्ट - नॉट बीइंग माइक बॉयड: मुझे एक चाहिए! मुझे एक की ज़रूरत है! मैं एक विलंबकर्ता हूँ! खैर, मुझे एक डोपामिन बॉक्स चाहिए… बिना प्रोग्राम के। कोई आवाज नहीं, सिर्फ शुद्ध इच्छा
Arduino 7 सेगमेंट डिस्प्ले प्रोजेक्ट के साथ डिजिटल लूडो डाइस: 3 कदम
Arduino 7 सेगमेंट डिस्प्ले प्रोजेक्ट के साथ डिजिटल लूडो डाइस: इस प्रोजेक्ट में, जब भी हम पुश बटन दबाते हैं, तो 1 से 6 तक की संख्या को यादृच्छिक रूप से प्रदर्शित करने के लिए 7 सेगमेंट डिस्प्ले का उपयोग किया जाता है। यह सबसे अच्छे प्रोजेक्ट्स में से एक है जिसे बनाने में हर कोई आनंद लेता है। 7 सेगमेंट डिस्प्ले के साथ काम करने का तरीका जानने के लिए यहां क्लिक करें: -7 सेगमेंट
Arduino+Blynk प्रोजेक्ट कंट्रोलिंग बजर: 8 कदम
Arduino+Blynk Project Controlling Buzzer: Blynk का उपयोग IoT को बहुत सुविधाजनक तरीके से संभव बनाने के लिए किया जाता है। इस परियोजना में, मैं वायरलेस संचार करने के लिए किसी ब्लूटूथ या वाईफाई मॉड्यूल का उपयोग नहीं कर रहा हूं। यह Blynk एप्लिकेशन का उपयोग करके संभव है जो आपको अपना स्वयं का एप्लिकेशन डिज़ाइन करने में मदद कर सकता है
साइड प्रोजेक्ट: जल शुद्धता परीक्षक: 5 कदम
साइड प्रोजेक्ट: वाटर प्योरिटी टेस्टर: यह प्रोजेक्ट मिस बर्बावी के साथ मेरे प्रिंसिपल्स ऑफ इंजीनियरिंग क्लास में मेरे पाठ्यक्रम का एक हिस्सा था। उसने हमें एक उचित परियोजना प्रस्ताव के साथ आने के लिए $ 50 के बजट के साथ आवंटित किया, कुछ ऐसा जो प्राप्त किया जा सकता है, फिर भी हमारी क्षमताओं को चुनौती देता है
समर प्रोजेक्ट २०२०: ८ कदम
समर प्रोजेक्ट २०२०: २०२० के अपने समर प्रोजेक्ट के लिए, मैंने एक ही चेसिस के साथ दो रोबोट कार बनाईं। एक रोबोट कार को अपने सामने की वस्तुओं का पता लगाने के लिए एक अल्ट्रासोनिक सेंसर का उपयोग करना चाहिए था और फिर स्वचालित रूप से तदनुसार दिशा बदलनी थी। दूसरी कार को ख