विषयसूची:

रास्पबेरी पाई 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 के लिए जावा कोड हमारे GitHub रिपॉजिटरी- Dcube Store से डाउनलोड किया जा सकता है

यहाँ उसी के लिए लिंक है:

github.com/DcubeTechVentures/MMA8452Q

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

pi4j.com/install.html

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

// एक फ्री-विल लाइसेंस के साथ वितरित किया गया।

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

// MMA8452Q

// यह कोड Dcube Store में उपलब्ध MMA8452Q_I2CS I2C मिनी मॉड्यूल के साथ काम करने के लिए डिज़ाइन किया गया है।

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

आयात com.pi4j.io.i2c. I2CDउपकरण;

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

java.io. IOException आयात करें;

सार्वजनिक वर्ग MMA8452Q

{

सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग तर्क ) अपवाद फेंकता है

{

// I2C बस बनाएं

I2CBus बस = I2CFactory.getInstance(I2CBus. BUS_1);

// I2C डिवाइस प्राप्त करें, MMA8452Q I2C पता 0x1C (28) है

I2CDevice डिवाइस = बस.getDevice(0x1C);

// स्टैंडबाय कमांड भेजें

device.write (0x2A, (बाइट) 0x00);

// सक्रिय कमांड भेजें

device.write (0x2A, (बाइट) 0x01);

// सेट रेंज +/- 2g. तक

device.write (0x0E, (बाइट) 0x00);

थ्रेड.स्लीप (500);

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

// स्थिति, एक्स एमएसबी, एक्स एलएसबी, वाई एमएसबी, वाई एलएसबी, जेड एमएसबी, जेड एलएसबी

बाइट डेटा = नया बाइट [7];

डिवाइस.रीड (0x00, डेटा, 0, 7);

// मूल्यों को परिवर्तित करें

int xAccl = (((डेटा [1] और 0xFF) * 256) + (डेटा [2] और 0xFF)) / 16;

अगर (xAccl> 2047)

{

xAccl = xAccl - ४०९६;

}

int yAccl = (((डेटा [3] और 0xFF) * 256) + (डेटा [4] और 0xFF)) / 16;

अगर (वाईएसीएल> 2047)

{

yAccl = yAccl - ४०९६;

}

int zAccl = (((डेटा [5] और 0xFF) * 256) + (डेटा [6] और 0xFF)) / 16;

अगर (zAccl> 2047)

{

zAccl = zAccl - ४०९६;

}

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

System.out.printf ("एक्स-एक्सिस:% d% n", xAccl);

System.out.printf ("वाई-एक्सिस:% d% n", yAccl);

System.out.printf ("जेड-एक्सिस:% d% n", zAccl);

}

}

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

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

सिफारिश की: