- सामग्री की आवश्यकता
- मैग्नेटोमीटर क्या है और यह कैसे काम करता है?
- कैसे HMC5883L सेंसर मॉड्यूल काम करता है
- सर्किट आरेख
- डिजिटल कम्पास के लिए PCBs का निर्माण
- PCB को असेंबल करना
- Arduino प्रोग्रामिंग
मानव मस्तिष्क संरचनाओं की जटिल परत से बना है जो हमें पृथ्वी पर एक प्रमुख प्रजाति बनने में मदद करती है। उदाहरण के लिए आपके मस्तिष्क में एंटेरहिनल कॉर्टेक्स आपको उन स्थानों के माध्यम से आसानी से नेविगेट करने में मदद करने वाली दिशा की भावना दे सकता है जिनसे आप परिचित नहीं हैं। लेकिन हमारे विपरीत, रोबोट और मानवरहित एरियल वाहनों को दिशा की इस भावना को प्राप्त करने के लिए कुछ की आवश्यकता है ताकि वे नए इलाकों और परिदृश्यों में स्वायत्त रूप से युद्धाभ्यास कर सकें। विभिन्न रोबोट इसे पूरा करने के लिए विभिन्न प्रकार के सेंसर का उपयोग करते हैं, लेकिन आमतौर पर इस्तेमाल किया जाने वाला एक मैग्नेटोमीटर है, जो रोबोट को सूचित कर सकता है कि यह किस भू-ग्राफिक दिशा में वर्तमान में सामना कर रहा है। यह न केवल रोबोट को दिशा दिखाने में मदद करेगा, बल्कि पूर्व-निर्धारित दिशा और परी में भी मोड़ लेगा।
चूंकि सेंसर भू-ग्राफिक उत्तर, दक्षिण, पूर्व और पश्चिम को इंगित कर सकता है, हम मनुष्य भी आवश्यकता पड़ने पर कई बार इसका उपयोग कर सकते हैं। तो इस लेख में हम यह समझने की कोशिश करते हैं कि मैग्नेटोमीटर सेंसर कैसे काम करता है और अरुडिनो जैसे माइक्रोकंट्रोलर के साथ इसे कैसे इंटरफ़ेस किया जाए । यहां हम एक शांत डिजिटल कम्पास का निर्माण करेंगे जो कि उत्तर दिशा की ओर इशारा करते हुए एक एलईडी चमक द्वारा दिशाओं को खोजने में हमारी मदद करेगा। इस डिजिटल कम्पास को PCBGOGO से पीसीबी पर बड़े करीने से गढ़ा गया है, ताकि मैं इसे अगली बार ले जा सकूं, जब मैं जंगल में बाहर जाऊंगा और चाहूंगा कि मैं अपने घर वापस लौटने के लिए इस चीज का उपयोग करने के लिए बस खो जाऊं। आएँ शुरू करें।
सामग्री की आवश्यकता
- Arduino प्रो मिनी
- HMC5883L मैग्नेटोमीटर सेंसर
- एलईडी लाइट्स - 8Nos
- 470 ओम रेसिस्टर - 8Nos
- बैरल जैक
- एक विश्वसनीय पीसीबी निर्माता जैसे PCBgogo
- मिनी के लिए FTDI प्रोग्रामर
- पीसी / लैपटॉप
मैग्नेटोमीटर क्या है और यह कैसे काम करता है?
इससे पहले कि हम सर्किट में गोता लगाएँ, चलिए मैग्नेटोमीटर के बारे में थोड़ा समझते हैं और वे कैसे काम करते हैं। जैसा कि नाम से पता चलता है कि मैग्नेटो शब्द का अर्थ मार्वल में उस पागल उत्परिवर्ती से नहीं है जो हवा में सिर्फ पियानो बजाकर धातुओं को नियंत्रित कर सकता है। ओह! लेकिन मुझे वह लड़का पसंद है।
मैग्नेटोमीटर वास्तव में उपकरणों का एक टुकड़ा है जो पृथ्वी के चुंबकीय ध्रुवों को समझ सकता है और उसी के अनुसार दिशा को इंगित कर सकता है। हम सभी जानते हैं कि पृथ्वी उत्तरी ध्रुव और दक्षिणी ध्रुव के साथ गोलाकार चुंबक का विशाल टुकड़ा है। और इसके कारण चुंबकीय क्षेत्र है। एक मैग्नेटोमीटर इस चुंबकीय क्षेत्र को भांप लेता है और चुंबकीय क्षेत्र की दिशा के आधार पर यह उस दिशा का पता लगा सकता है जिसका हम सामना कर रहे हैं।
कैसे HMC5883L सेंसर मॉड्यूल काम करता है
HMC5883L एक जा रहा है मैग्नेटोमीटर सेंसर एक ही बात करता है। इस पर HMC5883L IC है जो हनीवेल से है। इस आईसी में 3 मैग्नेटो-प्रतिरोधक सामग्री होती है, जो एक्सिस, वाई और जेड एक्सिस में व्यवस्थित होती है। इन सामग्रियों से प्रवाहित होने वाली धारा पृथ्वी की चुंबकीय क्षेत्र के प्रति संवेदनशील है। तो इन सामग्रियों के माध्यम से बहने वाले वर्तमान में परिवर्तन को मापने से हम पृथ्वी के चुंबकीय क्षेत्र में परिवर्तन का पता लगा सकते हैं। एक बार जब परिवर्तन चुंबकीय क्षेत्र को अवशोषित कर लेता है, तो मूल्यों को I2C प्रोटोकॉल के माध्यम से किसी माइक्रोकंट्रोलर या प्रोसेसर जैसे किसी भी एम्बेडेड नियंत्रक को भेजा जा सकता है।
चूंकि संवेदक चुंबकीय क्षेत्र को संवेदन द्वारा काम करता है, इसलिए यदि धातु को पास में रखा जाता है, तो आउटपुट मान बहुत प्रभावित होंगे। इस व्यवहार का उपयोग इन सेंसरों को मेटल डिटेक्टरों के रूप में करने के लिए किया जा सकता है। ध्यान रखना चाहिए कि इस सेंसर के पास मैग्नेट न लाया जाए क्योंकि चुंबक से मजबूत चुंबकीय क्षेत्र सेंसर पर झूठे मूल्यों को ट्रिगर कर सकता है।
HMC5883L और QMC5883L के बीच अंतर
कई शुरुआती लोगों के लिए इन सेंसर के चारों ओर घूमने वाला एक आम भ्रम है। ऐसा इसलिए है क्योंकि कुछ विक्रेताओं (वास्तव में अधिकांश) हनीवेल से मूल एचएमसी 5883 एल के बजाय क्यूएमसी 5883 एल सेंसर बेचते हैं। यह ज्यादातर इसलिए है क्योंकि QMC5883L HMC5883L मॉड्यूल की तुलना में सस्ता है। दुखद बात यह है कि इन दोनों सेंसर का काम थोड़ा अलग है और दोनों के लिए समान कोड का उपयोग नहीं किया जा सकता है। ऐसा इसलिए है क्योंकि दोनों सेंसर का I2C पता समान नहीं है। इस ट्यूटोरियल में दिया गया कोड केवल QMC5883L के लिए आमतौर पर उपलब्ध सेंसर मॉड्यूल के लिए काम करेगा ।
यह जानने के लिए कि आप किस सेंसर के मॉडल को देख रहे हैं, आपको सिर्फ आईसी में खुद को बारीकी से देखना होगा कि उसके ऊपर क्या लिखा है। अगर इसे L883 जैसा कुछ लिखा जाता है तो यह HMC58836L है और अगर इसे DA5883 जैसा कुछ लिखा जाता है तो यह QMC5883L IC है। दोनों मॉड्यूल आसान समझने के लिए नीचे चित्र में दिखाए गए हैं।
सर्किट आरेख
इस Arduino आधारित डिजिटल कम्पास के लिए सर्किट बहुत सरल है, हमें बस Arduino के साथ HMC5883L सेंसर को इंटरफ़ेस करना होगा और 8 LEDs को Arduino Pro मिनी के GPIO पिन से जोड़ना होगा। पूरा सर्किट आरेख नीचे दिखाया गया है
सेंसर मॉड्यूल 5 पिन बाहर है के बाद से हम सतत मोड में सेंसर काम कर रहे हैं जिनमें से DRDY (डेटा तैयार) हमारी परियोजना में इस्तेमाल नहीं कर रहा है। Vdu और ग्राउंड पिन को Arduino बोर्ड से 5V के साथ मॉड्यूल को पावर करने के लिए उपयोग किया जाता है। SCL और SDA I2C संचार बस लाइनें हैं जो क्रमशः Arduino Pro मिनी के A4 और A5 I2C पिन से जुड़ी हैं। चूंकि मॉड्यूल में लाइनों पर एक पुल उच्च अवरोधक है, इसलिए उन्हें बाहरी रूप से जोड़ने की कोई आवश्यकता नहीं है।
उस दिशा को इंगित करने के लिए हमने 8 एल ई डी का उपयोग किया है, जो 470 ओम के वर्तमान सीमित अवरोधक के माध्यम से अरुडिनो के GPIO पिन से जुड़े हैं। पूरा सर्किट बैरल जैक के माध्यम से एक 9V बैटरी द्वारा संचालित है। यह 9V सीधे Arduino के विन पिन को प्रदान किया जाता है जहां यह Arduino पर ऑन-बोर्ड नियामक का उपयोग करके 5V के लिए विनियमित होता है। यह 5V तब सेंसर और Arduino को शक्ति प्रदान करने के लिए उपयोग किया जाता है।
डिजिटल कम्पास के लिए PCBs का निर्माण
सर्किट का विचार 8 एल ई डी को एक गोलाकार तरीके से रखा गया है ताकि प्रत्येक एलईडी क्रमशः सभी 8 दिशाओं जैसे उत्तर, उत्तर-पूर्व, पूर्व, दक्षिण-पूर्व, दक्षिण, दक्षिण-पश्चिम, पश्चिम और उत्तर पश्चिम को इंगित करे। इसलिए उन्हें ब्रेडबोर्ड पर या उस मामले के लिए एक आदर्श बोर्ड पर भी बड़े करीने से व्यवस्थित करना आसान नहीं है। इस सर्किट के लिए PCB विकसित करने से यह अधिक साफ-सुथरा और उपयोग में आसान हो जाएगा। इसलिए मैंने अपने पीसीबी डिजाइनिंग सॉफ्टवेयर को खोला और एल ई डी और रेसिस्टर को एक साफ-सुथरे परिपत्र पैटर्न में रखा और कनेक्शन बनाने के लिए पटरियों को जोड़ा। मेरा डिजाइन पूरा होने पर नीचे कुछ इस तरह दिखता था। आप नीचे दिए गए लिंक से भी Gerber फ़ाइल डाउनलोड कर सकते हैं।
- डिजिटल कम्पास पीसीबी के लिए Gerber फ़ाइल डाउनलोड करें
मैंने इसे एक डबल साइड बोर्ड के रूप में डिज़ाइन किया है क्योंकि मैं चाहता हूं कि Arduino मेरे PCB के निचले हिस्से में हो ताकि यह मेरे PCB के ऊपर की लुक को खराब न करे। यदि आप चिंता कर रहे हैं कि आपको एक डबल साइड पीसीबी के लिए उच्च भुगतान करना है, तो पकड़ो मुझे अच्छा नया आ रहा है।
अब, हमारा डिज़ाइन तैयार हो गया है और उन्हें तैयार करने का समय आ गया है। पीसीबी प्राप्त करने के लिए काफी आसान है, बस नीचे दिए गए चरणों का पालन करें
चरण 1: www.pcbgogo.com पर जाएं, साइन अप करें यदि यह आपकी पहली बार है। फिर, पीसीबी प्रोटोटाइप टैब में आपके पीसीबी के आयाम, परतों की संख्या और आपके द्वारा आवश्यक पीसीबी की संख्या दर्ज करें। मेरा पीसीबी 80 सेमी × 80 सेमी है, इसलिए टैब नीचे इस तरह दिखता है
चरण 2: भाव अब बटन पर क्लिक करके आगे बढ़ें । आपको एक पृष्ठ पर ले जाया जाएगा जहाँ कुछ अतिरिक्त पैरामीटर सेट करने के लिए यदि आवश्यक हो जैसे सामग्री का उपयोग ट्रैक स्पेसिंग आदि के लिए किया जाता है, लेकिन ज्यादातर डिफ़ॉल्ट मान ठीक काम करेंगे। केवल एक चीज जिस पर हमें यहां विचार करना है वह है कीमत और समय। जैसा कि आप देख सकते हैं कि बिल्ड टाइम केवल 2-3 दिन है और हमारे PSB के लिए इसकी लागत केवल $ 5 है। फिर आप अपनी आवश्यकता के आधार पर पसंदीदा शिपिंग विधि का चयन कर सकते हैं।
चरण 3: अंतिम चरण Gerber फ़ाइल अपलोड करने और भुगतान के साथ आगे बढ़ना है। यह सुनिश्चित करने के लिए कि क्या प्रक्रिया चिकनी है PCBGOGO सत्यापित करता है कि भुगतान के साथ आगे बढ़ने से पहले आपकी Gerber फ़ाइल वैध है। इस तरह आप यह सुनिश्चित कर सकते हैं कि आपका पीसीबी फेब्रिकेशन फ्रेंडली है और आपके लिए प्रतिबद्ध होगा।
PCB को असेंबल करना
बोर्ड का आदेश दिए जाने के बाद, यह कुछ दिनों के बाद मुझ तक पहुंच गया हालांकि कूरियर बड़े करीने से अच्छी तरह से पैक किए गए बॉक्स में था और हमेशा की तरह पीसीबी की गुणवत्ता भयानक थी। मैं आपको जज करने के लिए नीचे दिए गए बोर्डों की कुछ तस्वीरें साझा कर रहा हूं।
मैंने अपनी सोल्डरिंग रॉड को चालू किया और बोर्ड को इकट्ठा करना शुरू कर दिया। चूंकि पैरों के निशान, पैड, वीआईए और सिल्क्सस्क्रीन पूरी तरह से सही आकार और आकार के हैं, इसलिए मुझे बोर्ड को इकट्ठा करने में कोई समस्या नहीं थी। बॉक्स को उतारने के समय से सिर्फ 10 मिनट में बोर्ड तैयार हो गया था।
टांका लगाने के बाद बोर्ड की कुछ तस्वीरें नीचे दिखाई गई हैं।
Arduino प्रोग्रामिंग
अब जब हमारा हार्डवेयर तैयार हो गया है, तो हम उस प्रोग्राम को देखते हैं जिसे हमारे Arduino Board में अपलोड किया जाना है। कोड का उद्देश्य QMC5883L मैग्नेटोमीटर सेंसर से डेटा को पढ़ना है और इसे डिग्री (0 से 360) में बदलना है । एक बार जब हम डिग्री जानते हैं, तो हमें एक विशिष्ट दिशा की ओर इशारा करते हुए एलईडी चालू करना होगा। इस कार्यक्रम में मैंने जो दिशा प्रयोग की है वह उत्तर है। चाहे आप जहां भी हों, आपके बोर्ड पर केवल एक एलईडी चमक होगी और एलईडी की दिशा उत्तर दिशा को इंगित करेगी । एक बार बाद में दूसरी दिशा की गणना कर सकते हैं एक दिशा ज्ञात है।
इस डिजिटल कम्पास परियोजना का पूरा कोड इस पृष्ठ के अंत में पाया जा सकता है। आप लाइब्रेरी को शामिल करने के बाद इसे सीधे अपने बोर्ड पर अपलोड कर सकते हैं और आप जाने के लिए तैयार हैं। लेकिन, अगर आप जानना चाहते हैं