विषयसूची:

रास्पबेरी पाई - MPL3115A2 प्रेसिजन अल्टीमीटर सेंसर पायथन ट्यूटोरियल: 4 चरण
रास्पबेरी पाई - MPL3115A2 प्रेसिजन अल्टीमीटर सेंसर पायथन ट्यूटोरियल: 4 चरण

वीडियो: रास्पबेरी पाई - MPL3115A2 प्रेसिजन अल्टीमीटर सेंसर पायथन ट्यूटोरियल: 4 चरण

वीडियो: रास्पबेरी पाई - MPL3115A2 प्रेसिजन अल्टीमीटर सेंसर पायथन ट्यूटोरियल: 4 चरण
वीडियो: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Python Tutorial 2024, जुलाई
Anonim
Image
Image

MPL3115A2 सटीक दबाव/ऊंचाई और तापमान डेटा प्रदान करने के लिए I2C इंटरफ़ेस के साथ एक MEMS दबाव सेंसर को नियोजित करता है। सेंसर आउटपुट को उच्च रिज़ॉल्यूशन 24-बिट एडीसी द्वारा डिजीटल किया जाता है। आंतरिक प्रसंस्करण मेजबान एमसीयू सिस्टम से मुआवजे के कार्यों को हटा देता है। यह केवल 0.05 kPa में परिवर्तन का पता लगाने में सक्षम है जो ऊंचाई में 0.3m परिवर्तन के बराबर है। यहाँ अजगर कोड का उपयोग करके रास्पबेरी पाई के साथ इसका प्रदर्शन है।

चरण 1: आपको क्या चाहिए..

जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!

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

2. एमपीएल3115ए2

3. आई²सी केबल

4. रास्पबेरी पाई के लिए I²C शील्ड

5. ईथरनेट केबल

चरण 2: कनेक्शन:

सम्बन्ध
सम्बन्ध
सम्बन्ध
सम्बन्ध
सम्बन्ध
सम्बन्ध
सम्बन्ध
सम्बन्ध

रास्पबेरी पाई के लिए एक I2C शील्ड लें और इसे रास्पबेरी पाई के gpio पिन पर धीरे से धकेलें।

फिर I2C केबल के एक सिरे को MPL3115A2 सेंसर से और दूसरे सिरे को I2C शील्ड से कनेक्ट करें।

ईथरनेट केबल को पीआई से भी कनेक्ट करें या आप वाईफाई मॉड्यूल का उपयोग कर सकते हैं।

ऊपर की तस्वीर में कनेक्शन दिखाए गए हैं।

चरण 3: कोड:

कोड
कोड

MPL3115A2 के लिए पायथन कोड हमारे Github रिपॉजिटरी- DCUBE स्टोर कम्युनिटी से डाउनलोड किया जा सकता है।

लिंक यहां दिया गया है

हमने अजगर कोड के लिए SMBus लाइब्रेरी का उपयोग किया है, रास्पबेरी पाई पर SMBus स्थापित करने के चरणों का वर्णन यहाँ किया गया है:

pypi.python.org/pypi/smbus-cffi/0.5.1

आप यहां से भी कोड कॉपी कर सकते हैं, यह इस प्रकार दिया गया है:

# फ्री-विल लाइसेंस के साथ वितरित।

# इसे किसी भी तरह से उपयोग करें, लाभ या मुफ्त, बशर्ते यह इसके संबंधित कार्यों के लाइसेंस में फिट बैठता है।

# एमपीएल3115ए2

# यह कोड MPL3115A2_I2CS I2C मिनी मॉड्यूल के साथ काम करने के लिए डिज़ाइन किया गया है

आयात smbus

आयात समय

# I2C बस प्राप्त करें

बस = smbus. SMBus(1)

# MPL3115A2 पता, 0x60(96)

# नियंत्रण रजिस्टर चुनें, 0x26(38)

# 0xB9(185) सक्रिय मोड, OSR = 128, अल्टीमीटर मोड

बस.राइट_बाइट_डेटा (0x60, 0x26, 0xB9)

# MPL3115A2 पता, 0x60(96)

# डेटा कॉन्फ़िगरेशन रजिस्टर चुनें, 0x13(19)

# 0x07 (07) डेटा तैयार घटना ऊंचाई, दबाव, तापमान के लिए सक्षम है

बस.राइट_बाइट_डेटा (0x60, 0x13, 0x07)

# MPL3115A2 पता, 0x60(96)

# नियंत्रण रजिस्टर चुनें, 0x26(38)

# 0xB9(185) सक्रिय मोड, OSR = 128, अल्टीमीटर मोड

बस.राइट_बाइट_डेटा (0x60, 0x26, 0xB9)

समय सो जाओ(1)

# MPL3115A2 पता, 0x60(96)

# 0x00 (00), 6 बाइट्स से डेटा वापस पढ़ें

# स्थिति, ऊँचाई MSB1, ऊँचाई MSB, ऊँचाई LSB, अस्थायी MSB, अस्थायी LSB

डेटा = बस.read_i2c_block_data(0x60, 0x00, 6)

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

tHeight = ((डेटा [1] * 65536) + (डेटा [2] * 256) + (डेटा [3] और 0xF0)) / 16

अस्थायी = ((डेटा [4] * 256) + (डेटा [5] और 0xF0)) / 16

ऊंचाई = ऊंचाई / 16.0

cTemp = अस्थायी / १६.०

fTemp = cTemp * 1.8 + 32

# MPL3115A2 पता, 0x60(96)

# नियंत्रण रजिस्टर चुनें, 0x26(38)

# 0x39(57) सक्रिय मोड, OSR = 128, बैरोमीटर मोड

बस.राइट_बाइट_डेटा (0x60, 0x26, 0x39)

समय सो जाओ(1)

# MPL3115A2 पता, 0x60(96)

# 0x00 (00), 4 बाइट्स से डेटा वापस पढ़ें

# स्टेटस, प्रेसिडेंट MSB1, प्रेसिडेंट MSB, प्रेसिडेंट LSB

डेटा = बस.read_i2c_block_data(0x60, 0x00, 4)

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

राष्ट्रपति = ((डेटा [1] * 65536) + (डेटा [2] * 256) + (डेटा [3] और 0xF0)) / 16

दबाव = (पूर्व / ४.०) / १०००.०

# स्क्रीन पर आउटपुट डेटा

प्रिंट "दबाव:%.2f केपीए"% दबाव

प्रिंट "ऊंचाई:%.2f मीटर"% ऊंचाई

प्रिंट "तापमान सेल्सियस में: %.2f C" %cTemp

प्रिंट "फ़ारेनहाइट में तापमान:%.2f F"% fTemp

चरण 4: अनुप्रयोग:

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

सिफारिश की: