विषयसूची:

जीपीएस के साथ Arduino ड्रोन: 16 कदम
जीपीएस के साथ Arduino ड्रोन: 16 कदम

वीडियो: जीपीएस के साथ Arduino ड्रोन: 16 कदम

वीडियो: जीपीएस के साथ Arduino ड्रोन: 16 कदम
वीडियो: DIY Arduino Uno Quadcopter : Hardware and Source Code, fabriquer un Quadcopter Arduino UNO 2024, जुलाई
Anonim
GPS के साथ Arduino ड्रोन
GPS के साथ Arduino ड्रोन

हमने एक Arduino- नियंत्रित और स्थिर, GPS- सक्षम प्रथम-व्यक्ति-दृश्य (FPV) क्वाडकॉप्टर ड्रोन बनाने के लिए घर वापसी, समन्वय पर जाने और GPS होल्ड फ़ंक्शंस के साथ सेट किया। हमने भोलेपन से यह मान लिया था कि मौजूदा Arduino प्रोग्राम और GPS ट्रांसमिशन सिस्टम के बिना GPS के बिना क्वाडकॉप्टर के लिए वायरिंग अपेक्षाकृत सरल होगी और हम जल्दी से अधिक जटिल प्रोग्रामिंग कार्यों पर आगे बढ़ सकते हैं। हालाँकि, इन दो परियोजनाओं को मेश करने के लिए एक आश्चर्यजनक राशि को बदलना पड़ा, और इस प्रकार हमने बिना किसी अतिरिक्त कार्यक्षमता के जीपीएस-सक्षम एफपीवी क्वाडकॉप्टर बनाना समाप्त कर दिया।

यदि आप अधिक सीमित क्वाडकॉप्टर से खुश हैं तो हमने अपने उत्पाद को दोहराने के तरीके के बारे में निर्देश शामिल किए हैं।

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

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

सेटअप इस प्रकार है:

सामग्री सूची में, दोनों लक्ष्यों के लिए बिना तारक वाले भागों की आवश्यकता होती है।

एक अधिक स्वायत्त क्वाडकॉप्टर की अधूरी परियोजना के लिए केवल एक तारांकन वाले भागों की आवश्यकता होती है।

केवल अधिक सीमित क्वाडकॉप्टर के लिए दो तारक वाले भागों की आवश्यकता होती है।

दोनों परियोजनाओं के लिए सामान्य कदमों में शीर्षक के बाद कोई मार्कर नहीं है

केवल अधिक सीमित गैर-स्वायत्त क्वाडकॉप्टर के लिए आवश्यक चरणों में शीर्षक के बाद "(यूनो)" होता है।

इन-प्रोग्रेस ऑटोनॉमस क्वाडकॉप्टर के लिए आवश्यक कदम केवल शीर्षक के बाद "(मेगा)" है।

यूनो-आधारित क्वाड बनाने के लिए, शीर्षक के बाद "(मेगा)" के साथ किसी भी चरण को छोड़कर क्रम में चरणों का पालन करें।

मेगा-आधारित क्वाड पर काम करने के लिए, शीर्षक के बाद "(यूनो)" के साथ किसी भी चरण को छोड़कर, क्रम में चरणों का पालन करें।

चरण 1: सामग्री इकट्ठा करें

अवयव:

1) एक क्वाडकॉप्टर फ्रेम (सटीक फ्रेम की संभावना कोई फर्क नहीं पड़ता) ($15)

2) चार 2830, 900kV ब्रशलेस मोटर्स (या समान), और चार माउंटिंग एक्सेसरी पैक (4x$6 + 4x$4 = $40 कुल)

3) चार 20A UBEC ESCs (4x$10 = $40 कुल)

4) एक बिजली वितरण बोर्ड (XT-60 कनेक्शन के साथ) ($20)

5) XT-60 कनेक्शन के साथ एक 3s, 3000-5000mAh LiPo बैटरी (3000mAh लगभग 20 मिनट की उड़ान समय के साथ मेल खाती है) ($25)

6) बहुत सारे प्रोपेलर (ये बहुत टूटते हैं) ($10)

7) एक Arduino मेगा 2560 * ($ 40)

8) एक Arduino Uno R3 ($ 20)

9) एक दूसरा Arduino Uno R3 ** ($ 20)

10) एक Arduino अल्टीमेट GPS शील्ड (आपको शील्ड की आवश्यकता नहीं है, लेकिन एक अलग GPS का उपयोग करने के लिए अलग वायरिंग की आवश्यकता होगी) ($45)

11) दो HC-12 वायरलेस ट्रांसीवर (2x$5 = $10)

१२) एक एमपीयू- ६०५०, ६डीओएफ (स्वतंत्रता की डिग्री) गायरो/एक्सेलेरोमीटर ($५)

13) एक टर्निग 9x 2.4GHz, 9 चैनल ट्रांसमीटर / रिसीवर जोड़ी ($ 70)

14) Arduino महिला (स्टैकेबल) हेडर ($ 20)

15) लीपो बैटरी बैलेंस चार्जर (और 12 वी डीसी एडाप्टर, शामिल नहीं) ($ 20)

17) यूएसबी ए से बी पुरुष से पुरुष एडाप्टर कॉर्ड ($5)

17) डक्ट टेप

18) टयूबिंग सिकोड़ें

उपकरण:

1) एक सोल्डरिंग आयरन

2) मिलाप

3) प्लास्टिक एपॉक्सी

4) हल्का

5) वायर स्ट्रिपर

6) एलन वॉंच का एक सेट

रीयल-टाइम FPV (प्रथम व्यक्ति दृश्य) वीडियो प्रसारण के लिए वैकल्पिक घटक:

1) एक छोटा एफपीवी कैमरा (यह हमारे द्वारा उपयोग किए जाने वाले बहुत सस्ते और खराब गुणवत्ता वाले कैमरे से जुड़ा है, आप एक बेहतर स्थानापन्न कर सकते हैं) ($20)

2) 5.6GHz वीडियो ट्रांसमीटर/रिसीवर जोड़ी (832 मॉडल प्रयुक्त) ($30)

3) 500mAh, 3s (11.1V) LiPo बैटरी ($7) (हम एक केले के प्लग के साथ उपयोग करते थे, लेकिन हम पूर्व-निरीक्षण में अनुशंसा करते हैं कि आप लिंक की गई बैटरी का उपयोग करें, क्योंकि इसमें TS832 ट्रांसमीटर के साथ संगत कनेक्टर है, और इस प्रकार ' टी सोल्डरिंग की आवश्यकता है)।

4) 2 1000mAh 2s (7.4V) LiPo बैटरी, या समान ($5)। mAh की संख्या तब तक महत्वपूर्ण नहीं है जब तक कि यह 1000mAh या उससे अधिक हो। ऊपर जैसा ही कथन दो बैटरियों में से एक के लिए प्लग प्रकार पर लागू होता है। दूसरे का उपयोग मॉनिटर को पावर देने के लिए किया जाएगा, इसलिए आपको सोल्डर करना होगा चाहे कुछ भी हो। शायद इसके लिए XT-60 प्लग के साथ एक प्राप्त करना सबसे अच्छा है (यही हमने किया)। उस प्रकार के लिए एक लिंक यहाँ है: 1000mAh 2s (7.4V) LiPo XT-60 प्लग के साथ

5) एलसीडी मॉनिटर (वैकल्पिक) ($ 15)। लैपटॉप पर सीधे देखने के लिए आप AV-USB अडैप्टर और DVD कॉपी करने वाले सॉफ़्टवेयर का भी उपयोग कर सकते हैं। यह केवल रीयल टाइम देखने के बजाय वीडियो और फ़ोटो रिकॉर्ड करने का विकल्प भी देता है।

6) यदि आपने लिंक किए गए प्लग से भिन्न प्लग वाली बैटरियां खरीदी हैं, तो आपको उपयुक्त एडेप्टर की आवश्यकता हो सकती है। भले ही, मॉनिटर को पावर देने वाली बैटरी के लिए प्लग के अनुरूप एडेप्टर प्राप्त करें। यहाँ XT-60 एडेप्टर प्राप्त करने के लिए है

* = केवल अधिक उन्नत परियोजना के लिए

** = केवल अधिक बुनियादी परियोजना के लिए

लागत:

यदि खरोंच से शुरू हो रहा है (लेकिन एक टांका लगाने वाले लोहे के साथ, आदि…), कोई FPV प्रणाली नहीं: ~$370

यदि आपके पास पहले से RC ट्रांसमीटर/रिसीवर, LiPo बैटरी चार्जर और LiPo बैटरी है: ~$260

FPV सिस्टम की लागत: $80

चरण 2: फ़्रेम को इकट्ठा करें

फ्रेम को इकट्ठा करो
फ्रेम को इकट्ठा करो
फ्रेम को इकट्ठा करो
फ्रेम को इकट्ठा करो
फ्रेम को इकट्ठा करो
फ्रेम को इकट्ठा करो

यह कदम काफी सीधा है, खासकर यदि हम उसी पूर्व-निर्मित फ्रेम का उपयोग कर रहे हैं जिसका हमने उपयोग किया था। बस शामिल किए गए स्क्रू का उपयोग करें और अपने फ्रेम के लिए उपयुक्त एलन रिंच या स्क्रूड्राइवर का उपयोग करके दिखाए गए अनुसार फ्रेम को एक साथ रखें। सुनिश्चित करें कि एक ही रंग की बाहें एक-दूसरे से सटे हों (जैसा कि इस तस्वीर में है), ताकि ड्रोन के सामने और पीछे एक स्पष्ट हो। इसके अलावा, सुनिश्चित करें कि नीचे की प्लेट का लंबा हिस्सा विपरीत रंग की भुजाओं के बीच में चिपक गया है। यह बाद में महत्वपूर्ण हो जाता है।

चरण 3: माउंट मोटर्स और कनेक्ट Esc

माउंट मोटर्स और कनेक्ट Esc
माउंट मोटर्स और कनेक्ट Esc
माउंट मोटर्स और कनेक्ट Esc
माउंट मोटर्स और कनेक्ट Esc
माउंट मोटर्स और कनेक्ट Esc
माउंट मोटर्स और कनेक्ट Esc
माउंट मोटर्स और कनेक्ट Esc
माउंट मोटर्स और कनेक्ट Esc

अब जब फ्रेम इकट्ठा हो गया है, तो चार मोटर और चार माउंटिंग एक्सेसरीज निकाल लें। आप या तो माउंटिंग सेट में शामिल स्क्रू का उपयोग कर सकते हैं, या क्वाडकॉप्टर फ्रेम से बचे हुए स्क्रू का उपयोग मोटर्स और माउंट को जगह में पेंच करने के लिए कर सकते हैं। यदि आप उन माउंटों को खरीदते हैं जिनसे हमने लिंक किया है, तो आपको ऊपर चित्रित दो अतिरिक्त घटक प्राप्त होंगे। इन पुर्जों के बिना हमारा मोटर प्रदर्शन अच्छा रहा है, इसलिए हमने वजन कम करने के लिए इन्हें छोड़ दिया।

एक बार जब मोटरों को खराब कर दिया जाता है, तो क्वाडकॉप्टर फ्रेम की शीर्ष प्लेट के शीर्ष पर बिजली वितरण बोर्ड (पीडीबी) को एपॉक्सी कर दिया जाता है। सुनिश्चित करें कि आप इसे इस तरह से उन्मुख करते हैं कि बैटरी कनेक्टर अलग-अलग रंग की भुजाओं (नीचे की प्लेट के लंबे भागों में से एक के समानांतर) के बीच में इंगित करता है, जैसा कि ऊपर की तस्वीर में है।

आपके पास मादा धागे के साथ चार प्रोपेलर शंकु भी होने चाहिए। इन्हें अभी के लिए अलग रख दें।

अब अपना ईएससी निकाल लें। एक तरफ से दो तार निकलेंगे, एक लाल और एक काला। चार ईएससी में से प्रत्येक के लिए, लाल तार को पीडीबी पर सकारात्मक कनेक्टर में और काले को नकारात्मक में डालें। ध्यान दें कि यदि आप किसी भिन्न PDB का उपयोग करते हैं, तो इस चरण में सोल्डरिंग की आवश्यकता हो सकती है। अब प्रत्येक मोटर से निकलने वाले तीन तारों में से प्रत्येक को जोड़ दें। इस बिंदु पर, इससे कोई फर्क नहीं पड़ता कि आप किस ईएससी तार को किस मोटर तार से जोड़ते हैं (जब तक आप एक ही मोटर के साथ एक ईएससी के सभी तारों को जोड़ रहे हैं!) आप बाद में किसी भी पीछे की ध्रुवीयता को सही करेंगे। तारों को उलट दिया जाए तो यह खतरनाक नहीं है; यह केवल मोटर को पीछे की ओर घूमने में परिणत होता है।

चरण 4: Arduino और Shield तैयार करें

Arduino और Shield तैयार करें
Arduino और Shield तैयार करें
Arduino और Shield तैयार करें
Arduino और Shield तैयार करें

शुरू करने से पहले एक नोट

सबसे पहले, आप सभी तारों को सीधे एक साथ मिलाप करना चुन सकते हैं। हालाँकि, हमने पिन हेडर का उपयोग करना अमूल्य पाया क्योंकि वे समस्या निवारण और परियोजना को अपनाने के लिए बहुत अधिक लचीलापन प्रदान करते हैं। हमने जो किया उसका विवरण इस प्रकार है (और दूसरों को करने की सलाह देते हैं)।

Arduino और शील्ड तैयार करें

अपने Arduino मेगा (या गैर-स्वायत्त क्वाड कर रहे हैं तो एक Uno), GPS शील्ड और स्टैकेबल हेडर को बाहर निकालें। जीपीएस शील्ड पर स्टैकेबल हेडर के पुरुष सिरे को पूर्व-सोल्डर किए गए पिन के समानांतर पिन की पंक्तियों में मिलाएं, जैसा कि ऊपर की छवि में दिखाया गया है। 3V, CD,… RX लेबल वाली पिन पंक्ति पर स्टैकेबल हेडर में भी मिलाप। नीचे से चिपके हुए पिनों पर अतिरिक्त लंबाई को क्लिप करने के लिए वायर कटर का उपयोग करें। इन सभी स्टैकेबल हेडर में पुरुष हेडर को बेंट टॉप के साथ रखें। ये वही हैं जो आप बाकी घटकों के लिए तारों को मिलाप करेंगे।

जीपीएस शील्ड को शीर्ष पर संलग्न करें, सुनिश्चित करें कि पिन Arduino (मेगा या ऊनो) पर उन लोगों के साथ मेल खाते हैं। ध्यान दें कि यदि मेगा का उपयोग कर रहे हैं, तो ढाल लगाने के बाद भी बहुत सारे Arduino अभी भी उजागर होंगे।

किसी भी शॉर्ट सर्किट को रोकने के लिए, Arduino के नीचे विद्युत टेप रखें, सभी उजागर पिन सोल्डर को कवर करें, क्योंकि Arduino PDB पर टिकी हुई है।

चरण 5: वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (यूनो)

वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (यूनो)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (यूनो)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (यूनो)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (यूनो)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (यूनो)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (यूनो)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (यूनो)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (यूनो)

उपरोक्त योजनाबद्ध लगभग जोप ब्रुकिंग द्वारा बनाई गई योजना के समान है क्योंकि हम अपने डिजाइन पर बहुत अधिक आधारित हैं।

*ध्यान दें कि यह योजनाबद्ध ठीक से माउंटेड GPS शील्ड मान रहा है, और इस प्रकार GPS इस योजनाबद्ध में प्रकट नहीं होता है।

उपरोक्त योजनाबद्ध फ्रिट्ज़िंग सॉफ़्टवेयर का उपयोग करके तैयार किया गया था, जिसे विशेष रूप से Arduino से जुड़े स्कीमैटिक्स के लिए अत्यधिक अनुशंसा की जाती है। हम ज्यादातर सामान्य भागों का उपयोग करते हैं जिन्हें लचीले ढंग से संपादित किया जा सकता है, क्योंकि हमारे हिस्से आमतौर पर फ्रिट्ज़िंग के शामिल भाग पुस्तकालय में नहीं थे।

-सुनिश्चित करें कि जीपीएस शील्ड पर स्विच "डायरेक्ट राइट" पर स्विच किया गया है।

-अब उपरोक्त योजनाबद्ध (बैटरी को छोड़कर!) के अनुसार सभी घटकों को तार दें (नीचे जीपीएस डेटा तारों पर महत्वपूर्ण नोट)।

-ध्यान दें कि आपने पहले ही ESCs को मोटर्स और PDB से जोड़ दिया है, इसलिए योजनाबद्ध का यह हिस्सा हो गया है।

-इसके अलावा, ध्यान दें कि GPS डेटा (पीले तार) Arduino पर पिन 0 और 1 से निकलता है (GPS पर अलग Tx और Rx पिन नहीं)। ऐसा इसलिए है क्योंकि "डायरेक्ट राइट" (नीचे देखें) के लिए कॉन्फ़िगर किया गया है, जीपीएस सीधे यूनो (पिन 0 और 1) पर हार्डवेयर सीरियल पोर्ट पर आउटपुट करता है। यह पूरी वायरिंग के ऊपर दूसरी तस्वीर में सबसे स्पष्ट रूप से दिखाया गया है।

-आरसी रिसीवर को वायरिंग करते समय, ऊपर की तस्वीर देखें। ध्यान दें कि डेटा तार शीर्ष पंक्ति में जाते हैं, जबकि विन और Gnd क्रमशः दूसरी और तीसरी पंक्तियों पर हैं (और पिन के दूसरे-से-सबसे दूर के कॉलम पर)।

-एचसी -12 ट्रांसीवर, आरसी रिसीवर, और 5Vout के लिए पीडीबी से Arduino के विन के लिए वायरिंग करने के लिए हमने स्टैकेबल हेडर का उपयोग किया, जबकि जाइरो के लिए हमने तारों को सीधे बोर्ड में मिलाया और हीट-सिकुड़ ट्यूबिंग का उपयोग किया। मिलाप। आप या तो किसी भी घटक के लिए करना चुन सकते हैं, हालांकि सीधे जाइरो को टांका लगाने की सिफारिश की जाती है क्योंकि यह अंतरिक्ष को बचाता है जिससे छोटे हिस्से को माउंट करना आसान हो जाता है। हेडर का उपयोग करना एक छोटी राशि है जो आगे काम करती है, लेकिन अधिक लचीलापन प्रदान करती है। टांका लगाने वाले तार सीधे एक अधिक सुरक्षित कनेक्शन दीर्घकालिक है, फिर भी इसका मतलब है कि किसी अन्य परियोजना पर उस घटक का उपयोग करना कठिन है। ध्यान दें कि यदि आपने GPS शील्ड पर हेडर का उपयोग किया है, तो आप जो भी करते हैं, उसके बावजूद आपके पास लचीलेपन की एक अच्छी मात्रा है। महत्वपूर्ण रूप से, सुनिश्चित करें कि GPS पर पिन 0 और 1 में GPS डेटा तारों को निकालना और बदलना आसान है।

हमारी परियोजना के अंत में, हम अपने सभी घटकों को फ्रेम से जोड़ने के लिए एक अच्छी विधि तैयार करने में असमर्थ थे। हमारी कक्षा के समय के दबाव के कारण, हमारे समाधान आम तौर पर दो तरफा फोम टेप, डक्ट टेप, बिजली के टेप और ज़िप संबंधों के इर्द-गिर्द घूमते थे। हम अत्यधिक अनुशंसा करते हैं कि यदि आप इसे एक लंबी अवधि की परियोजना बनाने की योजना बनाते हैं तो आप स्थिर माउंटिंग संरचनाओं को डिजाइन करने में अधिक समय व्यतीत करते हैं। इन सब बातों के साथ, यदि आप केवल एक त्वरित प्रोटोटाइप बनाना चाहते हैं, तो बेझिझक हमारी प्रक्रिया का अनुसरण करें। हालाँकि, सुनिश्चित करें कि gyro सुरक्षित रूप से माउंट किया गया है। यह एकमात्र तरीका है जिससे Arduino जानता है कि क्वाडकॉप्टर क्या कर रहा है, इसलिए यदि यह उड़ान में चलता है तो आपको समस्याएँ होंगी।

सब कुछ तार-तार होने के साथ, अपनी LiPo बैटरी लें और इसे फ्रेम के ऊपर और नीचे की प्लेटों के बीच स्लाइड करें। सुनिश्चित करें कि इसका कनेक्टर पीडीबी के कनेक्टर के समान दिशा की ओर इशारा कर रहा है, और यह कि वे वास्तव में कनेक्ट हो सकते हैं। हमने बैटरी को जगह पर रखने के लिए डक्ट टेप का इस्तेमाल किया (वेल्क्रो टेप भी काम करता है, लेकिन डक्ट टेप की तुलना में अधिक कष्टप्रद होता है)। डक्ट टेप अच्छी तरह से काम करता है क्योंकि कोई भी आसानी से बैटरी को बदल सकता है या चार्ज करने के लिए इसे हटा सकता है। हालाँकि, आपको यह सुनिश्चित करना चाहिए कि आपने बैटरी को कसकर नीचे की ओर टेप किया है, जैसे कि उड़ान के दौरान बैटरी इधर-उधर हो जाती है, इससे ड्रोन का संतुलन गंभीर रूप से बिगड़ सकता है। बैटरी को अभी तक पीडीबी से कनेक्ट न करें।

चरण 6: वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (मेगा)

वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (मेगा)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (मेगा)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (मेगा)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (मेगा)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (मेगा)
वायर टुगेदर कंपोनेंट्स और प्लेस बैटरी (मेगा)

ऊपर दिए गए योजनाबद्ध को फ्रिट्ज़िंग सॉफ़्टवेयर का उपयोग करके तैयार किया गया था, जो कि विशेष रूप से आर्डिनो से जुड़े स्कीमैटिक्स के लिए अत्यधिक अनुशंसित है। हम ज्यादातर सामान्य भागों का उपयोग करते थे, क्योंकि हमारे हिस्से आमतौर पर फ्रिट्ज़िंग के शामिल भाग पुस्तकालय में नहीं थे।

-ध्यान दें कि यह योजनाबद्ध ठीक से घुड़सवार जीपीएस शील्ड मान रहा है, और इस प्रकार जीपीएस इस योजनाबद्ध में प्रकट नहीं होता है।

- अपने मेगा 2560 पर स्विच को "सॉफ्ट सीरियल" पर फ़्लिप करें।

-अब उपरोक्त योजना के अनुसार सभी घटकों को तार दें (बैटरी को छोड़कर!)

-ध्यान दें कि आपने पहले ही ESCs को मोटर्स और PDB से जोड़ दिया है, इसलिए योजनाबद्ध का यह हिस्सा हो गया है।

-पिन 8 से आरएक्स और पिन 7 से टीएक्स तक जम्पर केबल हैं क्योंकि (यूनो के विपरीत, जिसके लिए यह ढाल बनाई गई थी), मेगा में पिन 7 और 8 पर एक सार्वभौमिक एसिंक्रोनस रिसीवर-ट्रांसमीटर (यूएआरटी) का अभाव है, और इस प्रकार हमें हार्डवेयर सीरियल पिन का उपयोग करना होगा। हार्डवेयर सीरियल पिन की आवश्यकता के और भी कारण हैं, जिन पर बाद में चर्चा की जाएगी।

-आरसी रिसीवर को वायरिंग करते समय, ऊपर की तस्वीर देखें। ध्यान दें कि डेटा तार शीर्ष पंक्ति में जाते हैं, जबकि विन और Gnd क्रमशः दूसरी और तीसरी पंक्तियों पर हैं (और पिन के दूसरे-से-सबसे दूर के कॉलम पर)।

-एचसी -12 ट्रांसीवर, आरसी रिसीवर, और 5Vout के लिए पीडीबी से Arduino के विन के लिए वायरिंग करने के लिए हमने स्टैकेबल हेडर का उपयोग किया, जबकि जाइरो के लिए हमने सीधे तारों को मिलाया और सोल्डर के चारों ओर हीट-सिकुड़ ट्यूबिंग का उपयोग किया। आप किसी भी घटक के लिए या तो करना चुन सकते हैं। हेडर का उपयोग करना एक छोटी राशि है जो आगे काम करती है, लेकिन अधिक लचीलापन प्रदान करती है। टांका लगाने वाले तार सीधे एक अधिक सुरक्षित कनेक्शन दीर्घकालिक है, फिर भी इसका मतलब है कि किसी अन्य परियोजना पर उस घटक का उपयोग करना कठिन है। ध्यान दें कि यदि आपने GPS शील्ड पर हेडर का उपयोग किया है, तो आप जो भी करते हैं, उसके बावजूद आपके पास लचीलेपन की एक अच्छी मात्रा है।

हमारी परियोजना के अंत में, हम अपने सभी घटकों को फ्रेम से जोड़ने के लिए एक अच्छी विधि तैयार करने में असमर्थ थे। हमारी कक्षा के समय के दबाव के कारण, हमारे समाधान आम तौर पर दो तरफा फोम टेप, डक्ट टेप, बिजली के टेप और ज़िप संबंधों के इर्द-गिर्द घूमते थे। हम अत्यधिक अनुशंसा करते हैं कि यदि आप इसे एक लंबी अवधि की परियोजना बनाने की योजना बनाते हैं तो आप स्थिर माउंटिंग संरचनाओं को डिजाइन करने में अधिक समय व्यतीत करते हैं। इन सब बातों के साथ, यदि आप केवल एक त्वरित प्रोटोटाइप बनाना चाहते हैं, तो बेझिझक हमारी प्रक्रिया का अनुसरण करें। हालाँकि, सुनिश्चित करें कि gyro सुरक्षित रूप से माउंट किया गया है। यह एकमात्र तरीका है जिससे Arduino जानता है कि क्वाडकॉप्टर क्या कर रहा है, इसलिए यदि यह उड़ान में चलता है तो आपको समस्याएँ होंगी।

सब कुछ तार-तार होने के साथ, अपनी LiPo बैटरी लें और इसे फ्रेम के ऊपर और नीचे की प्लेटों के बीच स्लाइड करें। सुनिश्चित करें कि इसका कनेक्टर पीडीबी के कनेक्टर के समान दिशा की ओर इशारा कर रहा है, और यह कि वे वास्तव में कनेक्ट हो सकते हैं। हमने बैटरी को जगह पर रखने के लिए डक्ट टेप का इस्तेमाल किया (वेल्क्रो टेप भी काम करता है, लेकिन डक्ट टेप की तुलना में अधिक कष्टप्रद होता है)। डक्ट टेप अच्छी तरह से काम करता है क्योंकि कोई भी आसानी से बैटरी को बदल सकता है या चार्ज करने के लिए इसे हटा सकता है। हालाँकि, आपको यह सुनिश्चित करना चाहिए कि आप बैटरी को कसकर नीचे टेप करें, जैसे कि उड़ान के दौरान बैटरी इधर-उधर हो जाती है, इससे ड्रोन का संतुलन गंभीर रूप से बिगड़ सकता है। बैटरी को अभी तक पीडीबी से कनेक्ट न करें।

चरण 7: बाइंड रिसीवर

बाइंड रिसीवर
बाइंड रिसीवर
बाइंड रिसीवर
बाइंड रिसीवर

RC रिसीवर लें और इसे अस्थायी रूप से 5V बिजली की आपूर्ति से कनेक्ट करें (या तो Arduino को USB या 9V पावर के साथ, या एक अलग बिजली की आपूर्ति के साथ। LiPo को अभी तक Arduino से कनेक्ट न करें)। आरसी रिसीवर के साथ आए बाइंडिंग पिन को लें और इसे रिसीवर पर बाइंड पिन पर रखें। वैकल्पिक रूप से, ऊपर और नीचे के पिन को BIND कॉलम में छोटा करें जैसा कि ऊपर की तस्वीर में दिखाया गया है। रिसीवर पर एक लाल बत्ती तेजी से झपकनी चाहिए। अब कंट्रोलर लें और बंद होने पर पीछे के बटन को दबाएं, जैसा कि ऊपर दिखाया गया है। दबाए गए बटन के साथ, नियंत्रक चालू करें। अब रिसीवर पर टिमटिमाती रोशनी ठोस हो जानी चाहिए। रिसीवर बाध्य है। बाध्यकारी केबल निकालें। यदि आप एक अलग बिजली आपूर्ति का उपयोग कर रहे थे, तो रिसीवर को Arduino से 5V से फिर से कनेक्ट करें।

चरण 8: (वैकल्पिक) एक साथ तार करें और FPV कैमरा सिस्टम को माउंट करें।

(वैकल्पिक) एक साथ तार करें और FPV कैमरा सिस्टम को माउंट करें।
(वैकल्पिक) एक साथ तार करें और FPV कैमरा सिस्टम को माउंट करें।
(वैकल्पिक) एक साथ तार करें और FPV कैमरा सिस्टम को माउंट करें।
(वैकल्पिक) एक साथ तार करें और FPV कैमरा सिस्टम को माउंट करें।

सबसे पहले, मॉनिटर पर पावर और ग्राउंड वायर के साथ XT-60 अडैप्टर को एक साथ मिलाएं। ये मॉनिटर से मॉनिटर में भिन्न हो सकते हैं, लेकिन बिजली लगभग हमेशा लाल होगी, जमीन लगभग हमेशा काली होगी। अब अपने 1000mAh LiPo में XT-60 प्लग के साथ टांका लगाने वाले तारों के साथ एडेप्टर डालें। मॉनिटर को (आमतौर पर) नीली पृष्ठभूमि के साथ चालू होना चाहिए। यह सबसे कठिन कदम है!

अब अपने रिसीवर और ट्रांसमीटर पर एंटेना पर स्क्रू करें।

अपने छोटे 500mAh के लाइपो को ट्रांसमीटर से कनेक्ट करें। सबसे दाहिना पिन (एंटीना के ठीक नीचे) बैटरी का ग्राउंड (V_) है, बाईं ओर अगला पिन V+ है। वे तीन तार आते हैं जो कैमरे तक जाते हैं। आपका कैमरा थ्री-इन वन प्लग के साथ आना चाहिए जो ट्रांसमीटर में फिट हो जाता है। सुनिश्चित करें कि आपके पास बीच में पीला डेटा तार है। यदि आपने उन बैटरियों का उपयोग किया है जिनसे हम इसके लिए बने प्लग से जुड़े हैं, तो इस चरण में किसी सोल्डरिंग की आवश्यकता नहीं होनी चाहिए।

अंत में, अपने रिसीवर के साथ आए डीसी आउट वायर के साथ अपनी अन्य 1000 एमएएच बैटरी को तार दें, और बदले में अपने रिसीवर पर पोर्ट में डीसी में प्लग करें। अंत में, आपके रिसीवर के साथ आए AVin केबल के काले सिरे को आपके रिसीवर के AVin पोर्ट से कनेक्ट करें, और दूसरा (पीला, महिला) आपके मॉनिटर के AVin केबल के पीले पुरुष सिरे से कनेक्ट करें।

इस बिंदु पर, आपको मॉनिटर पर कैमरा दृश्य देखने में सक्षम होना चाहिए। यदि आप नहीं कर सकते हैं, तो सुनिश्चित करें कि रिसीवर और ट्रांसमीटर दोनों चालू हैं (आपको उनकी छोटी स्क्रीन पर नंबर देखना चाहिए) और वे एक ही चैनल पर हैं (हमने दोनों के लिए चैनल 11 का इस्तेमाल किया और अच्छी सफलता मिली)। इसके अलावा, आपको मॉनिटर पर चैनल बदलने की आवश्यकता हो सकती है।

फ्रेम पर घटकों को माउंट करें।

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

चरण 9: GPS डेटा रिसेप्शन सेट करें

GPS डेटा रिसेप्शन सेट करें
GPS डेटा रिसेप्शन सेट करें
GPS डेटा रिसेप्शन सेट करें
GPS डेटा रिसेप्शन सेट करें

अपने दूसरे Arduino को अपने दूसरे HC-12 ट्रांसीवर के साथ वायर करें जैसा कि उपरोक्त योजनाबद्ध में दिखाया गया है, यह ध्यान में रखते हुए कि सेटअप केवल तभी संचालित होगा जब कंप्यूटर में प्लग किया गया हो। दिए गए ट्रांसीवर कोड को डाउनलोड करें, अपने सीरियल मॉनिटर को 9600 बॉड पर खोलें।

यदि अधिक बुनियादी सेटअप का उपयोग कर रहे हैं, तो आपको GPS वाक्य प्राप्त करना शुरू कर देना चाहिए यदि आपका GPS शील्ड संचालित है और अन्य HC-12 ट्रांसीवर से ठीक से वायर्ड है (और यदि शील्ड पर स्विच "डायरेक्ट राइट" पर है)।

मेगा के साथ, सुनिश्चित करें कि स्विच "सॉफ्ट सीरियल" पर है।

चरण 10: सेटअप कोड निष्पादित करें (यूनो)

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

बैटरी डिस्कनेक्ट होने पर, अपने कंप्यूटर को Arduino से कनेक्ट करने के लिए USB कॉर्ड का उपयोग करें, और संलग्न सेटअप कोड अपलोड करें। अपने आरसी ट्रांसमीटर को चालू करें। अपने सीरियल मॉनिटर को 57600 बॉड पर खोलें और संकेतों का पालन करें।

आम त्रुटियों:

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

यदि कोड एक ही बार में चरणों के एक समूह के माध्यम से छोड़ देता है, तो जांच लें कि आपका जीपीएस स्विच "डायरेक्ट राइट" पर है।

यदि कोई रिसीवर नहीं मिला है, तो सुनिश्चित करें कि ट्रांसमीटर चालू होने पर आपके रिसीवर पर एक ठोस (लेकिन मंद) लाल बत्ती है। यदि हां, तो वायरिंग की जांच करें।

यदि कोई जाइरो नहीं पाया जाता है, तो ऐसा इसलिए हो सकता है क्योंकि जाइरो क्षतिग्रस्त हो गया है या यदि आपके पास एक अलग प्रकार का जाइरो है, जिसे कोड लिखने के लिए डिज़ाइन किया गया है।

चरण 11: सेटअप कोड निष्पादित करें (मेगा)

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

बैटरी डिस्कनेक्ट होने पर, अपने कंप्यूटर को Arduino से कनेक्ट करने के लिए USB कॉर्ड का उपयोग करें, और संलग्न सेटअप कोड अपलोड करें। अपने सीरियल मॉनिटर को 57600 बॉड पर खोलें और संकेतों का पालन करें।

चरण 12: ईएससी (यूनो) को कैलिब्रेट करें

एक बार फिर, यह कोड जूप ब्रोकिंग के कोड के समान है। सभी संशोधन जीपीएस और अरुडिनो को एकीकृत करने के प्रयास में किए गए थे और बाद में अधिक उन्नत क्वाडकॉप्टर के निर्माण के विवरण में पाए जा सकते हैं।

संलग्न ईएससी अंशांकन कोड अपलोड करें। सीरियल मॉनीटर पर 'r' अक्षर और हिट रिटर्न लिखें। आपको रीयलटाइम RC नियंत्रक मान सूचीबद्ध दिखना शुरू हो जाना चाहिए। सत्यापित करें कि वे थ्रॉटल, रोल, पिच और यॉ के चरम पर 1000 से 2000 तक भिन्न होते हैं। फिर 'ए' लिखें और रिटर्न हिट करें। जाइरो कैलिब्रेशन को जाने दें, और फिर सत्यापित करें कि जाइरो क्वाड की गति को पंजीकृत करता है। अब कंप्यूटर से arduino को अपप्लग करें, थ्रॉटल को कंट्रोलर पर ऊपर की ओर धकेलें, और बैटरी को कनेक्ट करें। ईएससी को अलग-अलग बीप टन चक्र करना चाहिए (लेकिन यह ईएससी और इसके फर्मवेयर के आधार पर भिन्न हो सकता है)। थ्रॉटल को सभी तरह से नीचे की ओर धकेलें। ईएससी को कम बीप का उत्सर्जन करना चाहिए, फिर चुप हो जाना चाहिए। बैटरी को अनप्लग करें।

वैकल्पिक रूप से, आप इस बिंदु पर प्रोपेलर पर कसकर पेंच करने के लिए आपके मोटर माउंटिंग एक्सेसरी पैक के साथ आए शंकु का उपयोग कर सकते हैं। फिर सबसे कम पावर पर क्रमशः 1 - 4 मोटर्स को पावर देने के लिए सीरियल मॉनीटर पर नंबर 1 - 4 दर्ज करें। प्रॉप्स के असंतुलन के कारण प्रोग्राम झटकों की मात्रा को दर्ज करेगा। आप एक तरफ या दूसरे प्रॉप्स में स्कॉच टेप की थोड़ी मात्रा जोड़कर इसका समाधान करने का प्रयास कर सकते हैं। हमने पाया कि हम इस कदम के बिना अच्छी उड़ान प्राप्त कर सकते हैं, लेकिन शायद थोड़ा कम कुशलता से और अधिक जोर से हमने प्रॉप्स को संतुलित किया था।

चरण 13: ईएससी (मेगा) को कैलिब्रेट करें

यह कोड ब्रोकिंग के कोड से काफी मिलता-जुलता है, हालांकि हमने मेगा के साथ काम करने के लिए इसे (और संबंधित वायरिंग) अनुकूलित किया है।

संलग्न ईएससी अंशांकन कोड अपलोड करें। सीरियल मॉनीटर पर 'r' अक्षर और हिट रिटर्न लिखें। आपको रीयलटाइम RC नियंत्रक मान सूचीबद्ध दिखना शुरू हो जाना चाहिए। सत्यापित करें कि वे थ्रॉटल, रोल, पिच और यॉ के चरम पर 1000 से 2000 तक भिन्न होते हैं।

फिर 'ए' लिखें और रिटर्न हिट करें। जाइरो कैलिब्रेशन को जाने दें, और फिर सत्यापित करें कि जाइरो क्वाड की गति को पंजीकृत करता है।

अब कंप्यूटर से arduino को ऊपर उठाएं, थ्रॉटल को कंट्रोलर पर ऊपर की ओर धकेलें, और बैटरी को कनेक्ट करें। ईएससी को तीन कम बीप और उसके बाद एक उच्च बीप का उत्सर्जन करना चाहिए (लेकिन यह ईएससी और इसके फर्मवेयर के आधार पर भिन्न हो सकता है)। थ्रॉटल को सभी तरह से नीचे की ओर धकेलें। बैटरी को अनप्लग करें।

हमने इस कोड में जो बदलाव किए हैं, वे थे ESC पिन के लिए PORTD का उपयोग करने से PORTA का उपयोग करना और फिर इन पोर्ट पर लिखे गए बाइट्स को बदलना ताकि हम उचित पिन को सक्रिय कर सकें जैसा कि वायरिंग योजनाबद्ध में दिखाया गया है। यह परिवर्तन इसलिए है क्योंकि PORTD रजिस्टर पिन मेगा पर उसी स्थान पर नहीं हैं जैसे वे ऊनो में हैं। हम इस कोड का पूरी तरह से परीक्षण नहीं कर पाए हैं क्योंकि हम एक पुराने ऑफ-ब्रांड मेगा के साथ काम कर रहे थे जो हमारे स्कूल की दुकान में था। इसका मतलब था कि किसी कारण से सभी पोर्टा रजिस्टर पिन ईएससी को ठीक से सक्रिय करने में सक्षम नहीं थे। हमें अपने कुछ परीक्षण कोड में या बराबर ऑपरेटर (|=) का उपयोग करने में भी परेशानी हुई। हम इस बारे में अनिश्चित हैं कि ईएससी पिन वोल्टेज सेट करने के लिए बाइट्स लिखते समय यह समस्या क्यों पैदा कर रहा था, इसलिए हमने ब्रुकिंग के कोड को यथासंभव कम संशोधित किया। हमें लगता है कि यह कोड काम करने के बहुत करीब है, लेकिन आपका माइलेज भिन्न हो सकता है।

चरण 14: हवाई हो जाओ !! (उनो)

और फिर, यह तीसरा बिट जीनियस कोड जोप ब्रोकिंग का काम है। कोड के इन सभी तीन टुकड़ों में परिवर्तन केवल Arduino में GPS डेटा के हमारे प्रयास के एकीकरण में मौजूद हैं।

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

अपने क्वाडकॉप्टर को बाहर ले जाएं, बैटरी प्लग करें और अपना ट्रांसमीटर चालू करें। वैकल्पिक रूप से, अपने जीपीएस रिसीविंग सेटअप के साथ-साथ अपने वीडियो रिसीविंग सेटअप और मॉनिटर से जुड़ा एक लैपटॉप साथ लाएं। अपने स्थलीय Arduino पर ट्रांसीवर कोड लोड करें, अपने सीरियल मॉनिटर को 9600 बॉड पर खोलें और GPS डेटा रोल को देखें।

अब आप उड़ने के लिए तैयार हैं। क्वाडकॉप्टर को बाँटने के लिए थ्रॉटल को नीचे की ओर धकेलें और बायीं ओर खिसकें, फिर धीरे से थ्रॉटल को हॉवर करने के लिए ऊपर लाएं। जब तक आप सहज न हो जाएं, तब तक जमीन पर और घास जैसी नरम सतहों पर उड़कर शुरू करें।

पहली बार जब हम ड्रोन और जीपीएस को एक साथ काम करने में सक्षम हुए, तो उत्साह से ड्रोन उड़ाते हुए हमारा अंतर्निहित वीडियो देखें।

चरण 15: हवाई हो जाओ !! (मेगा)

मेगा के लिए ESC कैलिब्रेशन कोड के साथ हमारे हैंगअप के कारण, हम कभी भी इस बोर्ड के लिए फ्लाइट कंट्रोलर कोड नहीं बना पाए। यदि आप इस बिंदु पर पहुंच गए हैं, तो मुझे लगता है कि मेगा के लिए काम करने के लिए आपने कम से कम ईएससी अंशांकन कोड के साथ छेड़छाड़ की है। इसलिए, आपको उड़ान नियंत्रक कोड के समान संशोधन करने की संभावना होगी जैसा आपने अंतिम चरण में किया था। यदि मेगा के लिए हमारा ESC कैलिब्रेशन कोड किसी अन्य संशोधन के बिना जादुई रूप से काम करता है, तो इस चरण के लिए इसे काम करने के लिए आपको स्टॉक कोड में केवल कुछ चीजें करनी होंगी। आपको सबसे पहले PORTD के सभी उदाहरणों को PORTA से बदलना होगा। साथ ही, DDRD को DDRA में बदलना न भूलें। फिर, आपको पोर्टा रजिस्टर में लिखे जा रहे सभी बाइट्स को बदलना होगा ताकि वे उचित पिन को सक्रिय कर सकें। ऐसा करने के लिए, पिन को उच्च पर सेट करने के लिए बाइट B11000011 और पिन को निम्न पर सेट करने के लिए B00111100 का उपयोग करें। शुभकामनाएँ, और कृपया हमें बताएं कि क्या आप मेगा का उपयोग करके सफलतापूर्वक उड़ान भरते हैं!

चरण 16: मेगा डिज़ाइन के साथ हम उस स्थान पर कैसे पहुँचे जहाँ हम वर्तमान में हैं

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

अगला कदम उस कोड को एकीकृत करना था जिसे हमने ब्रोकिंग के उड़ान नियंत्रक के साथ संशोधित और परीक्षण किया था। यह बहुत मुश्किल नहीं था, लेकिन हम जल्दी से एक त्रुटि में पड़ गए। ब्रोकिंग का उड़ान नियंत्रक Arduino Wire और EEPROM पुस्तकालयों पर निर्भर करता है, जबकि हमारा GPS कोड सॉफ़्टवेयर सीरियल लाइब्रेरी और Arduino GPS लाइब्रेरी दोनों का उपयोग कर रहा था। चूंकि वायर लाइब्रेरी सॉफ़्टवेयर सीरियल लाइब्रेरी का संदर्भ देती है, इसलिए हम एक त्रुटि में भाग गए जहां कोड संकलित नहीं होगा क्योंकि "_vector 3_ के लिए कई परिभाषाएं" थीं, इसका मतलब जो भी हो। Google पर देखने और पुस्तकालयों में खोजबीन करने के बाद, हमने अंततः महसूस किया कि इस पुस्तकालय संघर्ष ने कोड के इन टुकड़ों का एक साथ उपयोग करना असंभव बना दिया है। इसलिए, हम विकल्पों की तलाश में गए।

हमें जो पता चला वह यह है कि पुस्तकालयों का एकमात्र संयोजन जो हम पर त्रुटि नहीं फेंकता था, वह मानक जीपीएस लाइब्रेरी को नियोजीपीएस पर स्विच कर रहा था और फिर सॉफ्टवेयर सीरियल के बजाय AltSoftSerial का उपयोग कर रहा था। इस संयोजन ने काम किया, हालांकि, AltSoftSerial केवल विशिष्ट पिन के साथ काम कर सकता है, जो हमारे डिजाइन में उपलब्ध नहीं थे। यही हमें मेगा का उपयोग करने के लिए प्रेरित करता है। Arduino Megas में कई हार्डवेयर सीरियल पोर्ट हैं, जिसका अर्थ है कि हम सॉफ़्टवेयर सीरियल पोर्ट को बिल्कुल भी खोलने की आवश्यकता न होने के कारण इस लाइब्रेरी संघर्ष को बायपास कर सकते हैं।

हालाँकि, जब हमने मेगा का उपयोग करना शुरू किया, तो हमने जल्दी ही महसूस किया कि पिन कॉन्फ़िगरेशन अलग था। Uno पर पिन जिनमें इंटरप्ट होते हैं, मेगा पर अलग होते हैं। इसी तरह एसडीए और एससीएल पिन अलग-अलग जगहों पर थे। प्रत्येक प्रकार के Arduino के लिए पिन आरेखों का अध्ययन करने और कोड में बुलाए गए रजिस्टरों को रीफ़्रेंस करने के बाद, हम केवल न्यूनतम री-वायरिंग और कोई सॉफ़्टवेयर परिवर्तन के साथ फ़्लाइट सेटअप कोड चलाने में सक्षम थे।

ESC कैलिब्रेशन कोड वह जगह है जहाँ हमने समस्याओं में भाग लेना शुरू किया। हमने पहले इस पर संक्षेप में बात की थी, लेकिन मूल रूप से कोड ईएससी को नियंत्रित करने के लिए उपयोग किए जाने वाले पिन को विनियमित करने के लिए पिन रजिस्टर का उपयोग करता है। यह मानक पिनमोड () फ़ंक्शन का उपयोग करने की तुलना में कोड को पढ़ने में कठिन बनाता है; हालांकि, यह कोड को तेजी से चलाता है और एक साथ पिन सक्रिय करता है। यह महत्वपूर्ण है क्योंकि उड़ान कोड सावधानीपूर्वक समयबद्ध लूप में चलता है। Arduinos के बीच पिन अंतर के कारण, हमने मेगा पर पोर्ट रजिस्टर A का उपयोग करने का निर्णय लिया। हालाँकि, हमारे परीक्षण में, उच्च चलाने के लिए कहे जाने पर सभी पिनों ने हमें समान आउटपुट वोल्टेज नहीं दिया। कुछ पिनों में लगभग 4.90V का आउटपुट था और अन्य ने हमें 4.95V के करीब दिया। जाहिरा तौर पर हमारे पास जो ईएससी है वह कुछ हद तक बारीक है, और इसलिए वे केवल तभी ठीक से काम करेंगे जब हम उच्च वोल्टेज वाले पिन का उपयोग करेंगे। इसने हमें उन बाइट्स को बदलने के लिए मजबूर किया जो हमने ए को पंजीकृत करने के लिए लिखा था ताकि हम सही पिन से बात कर सकें। इसके बारे में ESC अंशांकन अनुभाग में अधिक जानकारी है।

यह लगभग उतना ही है जितना हमें परियोजना के इस भाग में मिला है। जब हम इस संशोधित ईएससी अंशांकन कोड का परीक्षण करने गए, तो कुछ छोटा हो गया और हमने अपने Arduino के साथ संचार खो दिया। हम इससे बहुत हैरान थे क्योंकि हमने कोई वायरिंग नहीं बदली थी। इसने हमें पीछे हटने और महसूस करने के लिए मजबूर किया कि हमारे असंगत टुकड़ों को एक साथ फिट करने की कोशिश करने के हफ्तों के बाद उड़ान ड्रोन प्राप्त करने के लिए हमारे पास केवल कुछ दिन थे। यही कारण है कि हम पीछे हट गए और ऊनो के साथ सरल परियोजना बनाई। हालाँकि, हम अभी भी सोचते हैं कि हमारा दृष्टिकोण थोड़ा और समय के साथ मेगा के साथ काम करने के करीब है।

हमारा लक्ष्य यह है कि यदि आप ब्रोकिंग के कोड को संशोधित करने पर काम कर रहे हैं तो हमारे सामने आने वाली बाधाओं का यह स्पष्टीकरण आपके लिए उपयोगी है। हमें जीपीएस के आधार पर किसी भी स्वायत्त नियंत्रण सुविधाओं को कोड करने का प्रयास करने का मौका भी नहीं मिला। मेगा के साथ काम करने वाले ड्रोन बनाने के बाद आपको यह पता लगाना होगा। हालांकि, कुछ प्रारंभिक Google शोधों से ऐसा लगता है कि कलमैन फ़िल्टर को लागू करना उड़ान में स्थिति निर्धारित करने का सबसे स्थिर और सटीक तरीका हो सकता है। हमारा सुझाव है कि आप इस बारे में थोड़ा शोध करें कि यह एल्गोरिथम राज्य के अनुमानों को कैसे अनुकूलित करता है। इसके अलावा, शुभकामनाएँ और हमें बताएं कि क्या आप हमसे आगे बढ़ने में सक्षम थे!

सिफारिश की: