विषयसूची:

रास्पबेरी पाई MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर पायथन ट्यूटोरियल: 4 कदम
रास्पबेरी पाई MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर पायथन ट्यूटोरियल: 4 कदम

वीडियो: रास्पबेरी पाई MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर पायथन ट्यूटोरियल: 4 कदम

वीडियो: रास्पबेरी पाई MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर पायथन ट्यूटोरियल: 4 कदम
वीडियो: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, जुलाई
Anonim
Image
Image

MMA8452Q एक स्मार्ट, लो-पावर, थ्री-एक्सिस, कैपेसिटिव, माइक्रोमैचिन्ड एक्सेलेरोमीटर है जिसमें 12 बिट रेजोल्यूशन है। एक्सेलेरोमीटर में एम्बेडेड फ़ंक्शंस की सहायता से लचीले उपयोगकर्ता प्रोग्राम योग्य विकल्प प्रदान किए जाते हैं, जो दो इंटरप्ट पिन के लिए कॉन्फ़िगर करने योग्य होते हैं। इसमें उच्च-पास फ़िल्टर फ़िल्टर किए गए डेटा के साथ-साथ गैर-फ़िल्टर्ड डेटा उपलब्ध रीयल-टाइम के साथ ± 2 जी / ± 4 जी / ± 8 जी के उपयोगकर्ता चयन योग्य पूर्ण स्केल हैं। यहाँ अजगर कोड का उपयोग करके रास्पबेरी पाई के साथ इसका प्रदर्शन है।

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

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

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

2. एमएमए8452क्यू

3. आई²सी केबल

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

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

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

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

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

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

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

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

चरण 3: कोड:

कोड
कोड

MMA8452Q के लिए पायथन कोड हमारे जीथब रिपोजिटरी से डाउनलोड किया जा सकता है- ControleverythingCommunity

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

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

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

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

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

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

# एमएमए८४५२क्यू

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

आयात smbus

आयात समय

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

बस = smbus. SMBus(1)

# MMA8452Q पता, 0x1C(28)

# कंट्रोल रजिस्टर चुनें, 0x2A(42)

# 0x00 (00) स्टैंडबाय मोड

बस.राइट_बाइट_डेटा (0x1C, 0x2A, 0x00)

# MMA8452Q पता, 0x1C(28)

# कंट्रोल रजिस्टर चुनें, 0x2A(42)

# 0x01 (01) सक्रिय मोड

बस.राइट_बाइट_डेटा (0x1C, 0x2A, 0x01)

# MMA8452Q पता, 0x1C(28)

# कॉन्फ़िगरेशन रजिस्टर चुनें, 0x0E(14)

# 0x00(00) सीमा को +/- 2g. पर सेट करें

बस.राइट_बाइट_डेटा (0x1C, 0x0E, 0x00)

समय सो जाओ (0.5)

# MMA8452Q पता, 0x1C(28)

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

# स्थिति रजिस्टर, एक्स-एक्सिस एमएसबी, एक्स-एक्सिस एलएसबी, वाई-एक्सिस एमएसबी, वाई-एक्सिस एलएसबी, जेड-एक्सिस एमएसबी, जेड-एक्सिस एलएसबी

डेटा = बस.read_i2c_block_data(0x1C, 0x00, 7)

# डेटा कनवर्ट करें

xAccl = (डेटा [1] * 256 + डेटा [2]) / 16

अगर xAccl > 2047:

xAccl -= ४०९६

yAccl = (डेटा [3] * 256 + डेटा [4]) / 16

अगर yAccl > 2047:

yAccl -= ४०९६ z

एसीएल = (डेटा [5] * 256 + डेटा [6]) / 16

अगर zAccl > 2047:

zAccl -= ४०९६

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

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

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

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

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

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

सिफारिश की: