विषयसूची:

ADXL345 और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: 4 चरण
ADXL345 और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: 4 चरण

वीडियो: ADXL345 और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: 4 चरण

वीडियो: ADXL345 और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: 4 चरण
वीडियो: ADXL335: Raspberry Pi Interfacing with MEMS Sensor - 3 Axis Accelerometer 2024, जुलाई
Anonim
Image
Image

ADXL345 ±16 ग्राम तक के उच्च रिज़ॉल्यूशन (13-बिट) माप के साथ एक छोटा, पतला, अल्ट्रालो पावर, 3-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2 C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। यह झुकाव-संवेदन अनुप्रयोगों में गुरुत्वाकर्षण के स्थिर त्वरण के साथ-साथ गति या झटके से उत्पन्न गतिशील त्वरण को मापता है। इसका उच्च रिज़ॉल्यूशन (3.9 मिलीग्राम/एलएसबी) 1.0 डिग्री से कम के झुकाव परिवर्तन को मापने में सक्षम बनाता है।

इस ट्यूटोरियल में रास्पबेरी पाई के साथ ADXL345 सेंसर मॉड्यूल के इंटरफेसिंग का प्रदर्शन किया गया है और पायथन भाषा का उपयोग करके इसकी प्रोग्रामिंग को भी चित्रित किया गया है। सभी 3-अक्ष पर त्वरण के मूल्यों को पढ़ने के लिए, हमने I2C एडेप्टर के साथ रास्पबेरी पाई का उपयोग किया है। यह I2C एडेप्टर सेंसर मॉड्यूल से कनेक्शन को आसान और अधिक विश्वसनीय बनाता है।

चरण 1: हार्डवेयर की आवश्यकता:

हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता

अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:

1. ADXL345

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

3. I2C केबल

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

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

चरण 2: हार्डवेयर हुकअप:

हार्डवेयर हुकअप
हार्डवेयर हुकअप
हार्डवेयर हुकअप
हार्डवेयर हुकअप

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

ADXL345 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।

आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं।

आपको बस चार तार चाहिए! केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।

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

चरण 3: त्वरण के मापन के लिए कोड:

त्वरण के मापन के लिए कोड
त्वरण के मापन के लिए कोड

रास्पबेरी पाई का उपयोग करने का लाभ यह है कि यह आपको उस प्रोग्रामिंग भाषा का लचीलापन प्रदान करता है जिसमें आप सेंसर को इंटरफेस करने के लिए बोर्ड को प्रोग्राम करना चाहते हैं। इस बोर्ड के इस लाभ का उपयोग करते हुए, हम यहां इसकी प्रोग्रामिंग को पायथन में प्रदर्शित कर रहे हैं। ADXL345 के लिए पायथन कोड हमारे जीथब समुदाय से डाउनलोड किया जा सकता है जो कि कंट्रोल एवरीथिंग कम्युनिटी है।

साथ ही उपयोगकर्ताओं की आसानी के लिए, हम यहां कोड भी समझा रहे हैं:

कोडिंग के पहले चरण के रूप में आपको अजगर के मामले में smbus पुस्तकालय डाउनलोड करने की आवश्यकता है, क्योंकि यह पुस्तकालय कोड में प्रयुक्त कार्यों का समर्थन करता है। तो, पुस्तकालय डाउनलोड करने के लिए आप निम्न लिंक पर जा सकते हैं:

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

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

आयात smbus

आयात समय

# I2C बसबस प्राप्त करें = smbus. SMBus(1)

# ADXL345 पता, 0x53(83)

# बैंडविड्थ दर रजिस्टर का चयन करें, 0x2C(44)

# 0x0A(10) सामान्य मोड, आउटपुट डेटा दर = 100 हर्ट्ज

बस.राइट_बाइट_डेटा (0x53, 0x2C, 0x0A)

# ADXL345 पता, 0x53(83)

# पावर कंट्रोल रजिस्टर चुनें, 0x2D (45)

# 0x08(08) ऑटो स्लीप डिसेबल

बस.राइट_बाइट_डेटा (0x53, 0x2D, 0x08)

# ADXL345 पता, 0x53(83)

# डेटा प्रारूप रजिस्टर का चयन करें, 0x31(49)

# 0x08(08) सेल्फ टेस्ट डिसेबल, 4-वायर इंटरफेस

# पूर्ण संकल्प, रेंज = +/- 2g

बस.राइट_बाइट_डेटा (0x53, 0x31, 0x08)

समय सो जाओ (0.5)

# ADXL345 पता, 0x53(83)

# 0x32 (50), 2 बाइट्स से डेटा वापस पढ़ें

# एक्स-एक्सिस एलएसबी, एक्स-एक्सिस एमएसबी

डेटा0 = बस.read_byte_data(0x53, 0x32)

डेटा1 = बस.read_byte_data(0x53, 0x33)

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

xAccl = ((डेटा1 और 0x03) * 256) + डेटा0

अगर xAccl > 511:

xAccl -= १०२४

# ADXL345 पता, 0x53(83)

# 0x34(52), 2 बाइट्स से डेटा वापस पढ़ें

# वाई-एक्सिस एलएसबी, वाई-एक्सिस एमएसबी

डेटा0 = बस.read_byte_data(0x53, 0x34)

डेटा1 = बस.read_byte_data(0x53, 0x35)

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

yAccl = ((डेटा1 और 0x03) * 256) + डेटा0

अगर yAccl > 511:

yAccl -= १०२४

# ADXL345 पता, 0x53(83)

# 0x36(54), 2 बाइट्स से डेटा वापस पढ़ें

# जेड-एक्सिस एलएसबी, जेड-एक्सिस एमएसबी

डेटा0 = बस.read_byte_data(0x53, 0x36)

डेटा1 = बस.read_byte_data(0x53, 0x37)

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

zAccl = ((डेटा1 और 0x03) * 256) + डेटा0

अगर zAccl > 511:

zAccl -= १०२४

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

प्रिंट "एक्स-एक्सिस में त्वरण:% d"% xAccl

प्रिंट "Y-अक्ष में त्वरण: %d" %yAccl

प्रिंट "Z-अक्ष में त्वरण: %d" %zAccl

नीचे उल्लिखित कोड के भाग में पायथन कोड के सही निष्पादन के लिए आवश्यक पुस्तकालय शामिल हैं।

आयात smbusimport समय

कमांड प्रॉम्प्ट में नीचे दिए गए कमांड को टाइप करके कोड को निष्पादित किया जा सकता है।

$> अजगर ADXL345.py

उपयोगकर्ता के संदर्भ के लिए ऊपर की तस्वीर में सेंसर का आउटपुट भी दिखाया गया है।

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

अनुप्रयोग
अनुप्रयोग

ADXL345 एक छोटा, पतला, अल्ट्रालो पावर, 3-एक्सिस एक्सेलेरोमीटर है जिसे हैंडसेट, मेडिकल इंस्ट्रूमेंटेशन आदि में लगाया जा सकता है। इसके एप्लिकेशन में गेमिंग और पॉइंटिंग डिवाइस, इंडस्ट्रियल इंस्ट्रूमेंटेशन, पर्सनल नेविगेशन डिवाइस और हार्ड डिस्क ड्राइव (HDD) प्रोटेक्शन भी शामिल है।

सिफारिश की: