विषयसूची:

रास्पबेरी पाई का उपयोग, MPL3115A2 के साथ ऊंचाई, दबाव और तापमान को मापें: 6 कदम
रास्पबेरी पाई का उपयोग, MPL3115A2 के साथ ऊंचाई, दबाव और तापमान को मापें: 6 कदम

वीडियो: रास्पबेरी पाई का उपयोग, MPL3115A2 के साथ ऊंचाई, दबाव और तापमान को मापें: 6 कदम

वीडियो: रास्पबेरी पाई का उपयोग, MPL3115A2 के साथ ऊंचाई, दबाव और तापमान को मापें: 6 कदम
वीडियो: Altitude Sensor | High Altitude Balloon Project | Raspberry Pi 3 B+ 2024, जुलाई
Anonim
Image
Image
अपरिहार्य उपकरण जो हमें चाहिए
अपरिहार्य उपकरण जो हमें चाहिए

जानें कि आपके पास क्या है, और जानें कि आप इसके मालिक क्यों हैं

यह दिलचस्प है। हम इंटरनेट ऑटोमेशन के युग में जी रहे हैं क्योंकि यह नए अनुप्रयोगों की अधिकता में डूबा हुआ है। कंप्यूटर और इलेक्ट्रॉनिक्स के प्रति उत्साही के रूप में, हम रास्पबेरी पाई के साथ बहुत कुछ सीख रहे हैं और हमने अपनी रुचियों को मिलाने का फैसला किया है। यदि आप I²C कनेक्शन और सॉफ़्टवेयर सेटअप में नए हैं, तो इस प्रोजेक्ट में लगभग एक घंटे का समय लगता है, और यह Java में रास्पबेरी पाई के साथ MPL3115A2 की क्षमताओं का विस्तार करने का एक शानदार तरीका है।

चरण 1: अपरिहार्य उपकरण जो हमें चाहिए

अपरिहार्य उपकरण जो हमें चाहिए
अपरिहार्य उपकरण जो हमें चाहिए
अपरिहार्य उपकरण जो हमें चाहिए
अपरिहार्य उपकरण जो हमें चाहिए
अपरिहार्य उपकरण जो हमें चाहिए
अपरिहार्य उपकरण जो हमें चाहिए

1. रास्पबेरी पाई

पहला कदम रास्पबेरी पाई बोर्ड प्राप्त करना था। इस छोटी सी प्रतिभा का उपयोग शौकियों, शिक्षकों द्वारा और नवीन वातावरण बनाने में किया जाता है।

2. रास्पबेरी पाई के लिए I2C शील्ड

INPI2 (I2C एडेप्टर) कई I2C उपकरणों के साथ उपयोग के लिए रास्पबेरी पाई 2/3 एक I²C पोर्ट प्रदान करता है। यह Dcube Store पर उपलब्ध है।

3. Altimeter, दबाव और तापमान सेंसर, MPL3115A2।

MPL3115A2 दबाव, ऊंचाई और तापमान डेटा देने के लिए I²C इंटरफ़ेस वाला एक MEMS प्रेशर सेंसर है। यह सेंसर संचार के लिए I²2 प्रोटोकॉल का उपयोग करता है। हमने इस सेंसर को Dcube Store से खरीदा है।

4. कनेक्टिंग केबल

हमने Dcube Store पर उपलब्ध I²C कनेक्टिंग केबल का उपयोग किया।

5. माइक्रो यूएसबी केबल

रास्पबेरी पाई माइक्रो यूएसबी आपूर्ति द्वारा संचालित है।

6. इंटरनेट एक्सेस एन्हांसमेंट - ईथरनेट केबल/वाईफाई मॉड्यूल

पहली चीजों में से एक जो आप करना चाहते हैं वह है अपने रास्पबेरी पाई को इंटरनेट से जोड़ना। आप ईथरनेट केबल का उपयोग करके या वायरलेस USB नैनो WiFi अडैप्टर के साथ कनेक्ट कर सकते हैं।

7. एचडीएमआई केबल (वैकल्पिक, आपकी पसंद)

आप रास्पबेरी पाई को एचडीएमआई केबल का उपयोग करके मॉनिटर से कनेक्ट कर सकते हैं। इसके अलावा, आप SSH/PuTTY का उपयोग करके अपने रास्पबेरी पाई को दूरस्थ रूप से एक्सेस कर सकते हैं।

चरण 2: सर्किट को एक साथ रखने के लिए हार्डवेयर कनेक्शन

सर्किट को एक साथ रखने के लिए हार्डवेयर कनेक्शन
सर्किट को एक साथ रखने के लिए हार्डवेयर कनेक्शन
सर्किट को एक साथ रखने के लिए हार्डवेयर कनेक्शन
सर्किट को एक साथ रखने के लिए हार्डवेयर कनेक्शन

दिखाए गए योजनाबद्ध के अनुसार सर्किट बनाएं। सामान्य तौर पर, कनेक्शन काफी सरल होते हैं। ऊपर दिए गए निर्देशों और छवियों का पालन करें, और आपको कोई समस्या नहीं होनी चाहिए। योजना बनाते समय, हमने हार्डवेयर और कोडिंग के साथ-साथ इलेक्ट्रॉनिक्स मूल बातें भी देखीं। हम इस परियोजना के लिए एक साधारण इलेक्ट्रॉनिक्स योजनाबद्ध डिजाइन करना चाहते थे। आरेख में, आप I²C संचार प्रोटोकॉल का पालन करते हुए विभिन्न भागों, बिजली घटकों और I²C सेंसर को देख सकते हैं। उम्मीद है, यह दिखाता है कि इस परियोजना के लिए इलेक्ट्रॉनिक्स कितना आसान है।

रास्पबेरी पाई और I2C शील्ड का कनेक्शन

इसके लिए रास्पबेरी पाई और उस पर आई²सी शील्ड लगाएं। शील्ड को धीरे से दबाएं (तस्वीर देखें)।

सेंसर और रास्पबेरी पाई का कनेक्शन

सेंसर लें और इसके साथ I²C केबल कनेक्ट करें। सुनिश्चित करें कि I²C आउटपुट हमेशा I²C इनपुट से कनेक्ट होता है। इसके बाद रास्पबेरी पाई के साथ I²C शील्ड लगा हुआ है। हमारे पास एक बहुत बड़े लाभ के रूप में I²C शील्ड और I²C कनेक्टिंग केबल हैं क्योंकि हमारे पास केवल प्लग एंड प्ले विकल्प बचा है। कोई और पिन और वायरिंग समस्या नहीं है और इसलिए, भ्रम दूर हो गया है। क्या ही राहत की बात है कि आप तारों के जाल में खुद को कल्पना करें और उसमें प्रवेश करें। इस तरह सरल!

नोट: भूरे रंग के तार को हमेशा एक डिवाइस के आउटपुट और दूसरे डिवाइस के इनपुट के बीच ग्राउंड (जीएनडी) कनेक्शन का पालन करना चाहिए।

इंटरनेट कनेक्टिविटी है महत्वपूर्ण

अपनी परियोजना को सफल बनाने के लिए, हमें अपने रास्पबेरी पाई के लिए एक इंटरनेट एक्सेस की आवश्यकता है। इसमें आपके पास इथरनेट (LAN) केबल कनेक्ट करने जैसे विकल्प होते हैं। इसके अलावा, वाईफाई एडेप्टर का उपयोग करने के लिए एक वैकल्पिक लेकिन प्रभावशाली तरीके के रूप में।

सर्किट की शक्ति

माइक्रो यूएसबी केबल को रास्पबेरी पाई के पावर जैक में प्लग करें। इसे चालू करें और वोइला, हम जाने के लिए अच्छे हैं!

स्क्रीन से कनेक्शन

हम या तो एचडीएमआई केबल को मॉनिटर से जोड़ सकते हैं या हम अपने हेडलेस पाई (-SSH/PuTTY का उपयोग करके) को बनाने के लिए थोड़ा सा इनोवेटिव हो सकते हैं, जो अतिरिक्त लागत में कटौती करने में मदद करता है क्योंकि हम किसी तरह शौक़ीन हैं।

जब कोई आदत पैसे खर्च करने लगती है, तो उसे शौक कहा जाता है।

चरण 3: जावा में रास्पबेरी पाई प्रोग्रामिंग

जावा में रास्पबेरी पाई प्रोग्रामिंग
जावा में रास्पबेरी पाई प्रोग्रामिंग

रास्पबेरी पाई और MPL3115A2 सेंसर के लिए जावा कोड। यह हमारे Github रिपॉजिटरी में उपलब्ध है।

कोड पर जाने से पहले, सुनिश्चित करें कि आपने रीडमी फ़ाइल में दिए गए निर्देशों को पढ़ लिया है और उसके अनुसार अपना रास्पबेरी पाई सेटअप करें। ऐसा करने में बस एक क्षण लगेगा। ऊंचाई की गणना नीचे दिए गए समीकरण का उपयोग करके दबाव से की जाती है:

एच = 44330.77 {1 - (पी / पी 0) ^ 0.1902632} + OFF_H (रजिस्टर वैल्यू)

जहाँ p0 = समुद्र तल का दबाव (101326 Pa) और h मीटर में है। MPL3115A2 इस मान का उपयोग करता है क्योंकि ऑफ़सेट रजिस्टर को 2 पास्कल प्रति एलएसबी के रूप में परिभाषित किया गया है। कोड स्पष्ट रूप से आपके सामने है और यह सबसे सरल रूप में है जिसकी आप कल्पना कर सकते हैं और आपको कोई समस्या नहीं होनी चाहिए।

आप इस सेंसर के लिए काम कर रहे जावा कोड को यहां से भी कॉपी कर सकते हैं।

// एक फ्री-विल लाइसेंस के साथ वितरित।// इसे किसी भी तरह से उपयोग करें, लाभ या मुफ्त, बशर्ते यह इसके संबंधित कार्यों के लाइसेंस में फिट बैठता है। // MPL3115A2 // यह कोड MPL3115A2_I2CS I2C मिनी मॉड्यूल के साथ काम करने के लिए डिज़ाइन किया गया है जो ControlEverything.com से उपलब्ध है। //

आयात com.pi4j.io.i2c. I2CBus;

आयात com.pi4j.io.i2c. I2CDउपकरण; आयात com.pi4j.io.i2c. I2CFactory; java.io. IOException आयात करें;

पब्लिक क्लास MPL3115A2

{सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args ) अपवाद फेंकता है {// I2C बस I2CBus बस बनाएं = I2CFactory.getInstance (I2CBus. BUS_1); // I2C डिवाइस प्राप्त करें, MPL3115A2 I2C पता 0x60 (96) I2CD डिवाइस डिवाइस = Bus.getDevice (0x60) है; // कंट्रोल रजिस्टर चुनें // एक्टिव मोड, OSR = 128, अल्टीमीटर मोड डिवाइस। राइट (0x26, (बाइट) 0xB9); // डेटा कॉन्फ़िगरेशन रजिस्टर का चयन करें // ऊंचाई, दबाव, तापमान डिवाइस के लिए सक्षम डेटा तैयार घटना। लिखें (0x13, (बाइट) 0x07); // कंट्रोल रजिस्टर चुनें // एक्टिव मोड, OSR = 128, अल्टीमीटर मोड डिवाइस। राइट (0x26, (बाइट) 0xB9); थ्रेड.स्लीप (1000);

// पते 0x00 (00) से डेटा के 6 बाइट्स पढ़ें

// स्थिति, tHeight msb1, tHeight msb, tHeight lsb, अस्थायी msb, अस्थायी lsb बाइट डेटा = नया बाइट [६]; डिवाइस.रीड (0x00, डेटा, 0, 6);

// डेटा को 20-बिट्स में बदलें

int tHeight = ((((डेटा [1] और 0xFF) * 65536) + ((डेटा [2] और 0xFF) * 256) + (डेटा [3] और 0xF0)) / 16); int अस्थायी = ((डेटा [4] * 256) + (डेटा [5] और 0xF0)) / 16; दुगनी ऊंचाई = ऊंचाई / 16.0; डबल cTemp = (अस्थायी / १६.०); डबल fTemp = cTemp * १.८ + ३२;

// नियंत्रण रजिस्टर का चयन करें

// सक्रिय मोड, OSR = 128, बैरोमीटर मोड डिवाइस। लिखें (0x26, (बाइट) 0x39); थ्रेड.स्लीप (1000); // पता 0x00 (00) से डेटा के 4 बाइट्स पढ़ें // स्थिति, msb1, प्रेस msb, प्रेस lsb डिवाइस। पढ़ें (0x00, डेटा, 0, 4);

// डेटा को 20-बिट्स में बदलें

इंट प्रेसिडेंट = (((डेटा[1] और 0xFF) * 65536) + ((डेटा[2] और 0xFF) * 256) + (डेटा [3] और 0xF0)) / 16; दोहरा दबाव = (पूर्व / ४.०) / १०००.०; // आउटपुट डेटा स्क्रीन करने के लिए System.out.printf ("दबाव:%.2f kPa% n", दबाव); System.out.printf ("ऊंचाई:%.2f मीटर% n", ऊंचाई); System.out.printf ("सेल्सियस में तापमान:%.2f C% n", cTemp); System.out.printf ("फ़ारेनहाइट में तापमान:%.2f F% n", fTemp); } }

चरण 4: संहिता की व्यावहारिकता (कार्य)

संहिता की व्यावहारिकता (कार्यशील)
संहिता की व्यावहारिकता (कार्यशील)

अब, कोड डाउनलोड (या git pull) करें और इसे रास्पबेरी पाई में खोलें। टर्मिनल पर कोड को कंपाइल और अपलोड करने के लिए कमांड चलाएँ और मॉनिटर पर आउटपुट देखें। कुछ सेकंड के बाद, यह सभी मापदंडों को प्रदर्शित करेगा। यह सुनिश्चित करने के बाद कि सब कुछ सुचारू रूप से काम करता है, आप इस परियोजना को एक बड़े प्रोजेक्ट में ले जा सकते हैं।

चरण 5: अनुप्रयोग और सुविधाएँ

MPL3115A2 प्रिसिजन अल्टीमीटर सेंसर का सामान्य उपयोग मैप (मैप असिस्ट, नेविगेशन), मैग्नेटिक कंपास, या जीपीएस (जीपीएस डेड रेकनिंग, इमरजेंसी सर्विसेज के लिए जीपीएस एन्हांसमेंट), हाई एक्यूरेसी अल्टीमेट्री, स्मार्टफोन / टैबलेट, पर्सनल इलेक्ट्रॉनिक्स अल्टीमेट्री और जैसे अनुप्रयोगों में है। उपग्रह (मौसम स्टेशन उपकरण/पूर्वानुमान)।

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

चरण 6: निष्कर्ष

चूंकि कार्यक्रम आश्चर्यजनक रूप से अनुकूलन योग्य है, ऐसे कई दिलचस्प तरीके हैं जिनसे आप इस परियोजना का विस्तार कर सकते हैं और इसे और भी बेहतर बना सकते हैं। उदाहरण के लिए, एक altimeter/interferometer में मस्तूल पर लगे कई altimeters शामिल होंगे जो एक साथ माप प्राप्त करेंगे, इस प्रकार निरंतर, एकल- या बहु-अल्टीमीटर वाइड-एरिया कवरेज प्रदान करेंगे। हमारे पास YouTube पर एक दिलचस्प वीडियो ट्यूटोरियल है जो इस प्रोजेक्ट को बेहतर ढंग से समझने में आपकी मदद कर सकता है।

सिफारिश की: