विषयसूची:

Arduino नैनो - MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर ट्यूटोरियल: 4 चरण
Arduino नैनो - MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर ट्यूटोरियल: 4 चरण

वीडियो: Arduino नैनो - MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर ट्यूटोरियल: 4 चरण

वीडियो: Arduino नैनो - MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर ट्यूटोरियल: 4 चरण
वीडियो: BeagleBone Black MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer 'C' Code Tutorial 2024, नवंबर
Anonim
Image
Image

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

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

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

1. अरुडिनो नैनो

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

3. आई²सी केबल

4. Arduino नैनो के लिए I²C शील्ड

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

कनेक्शन
कनेक्शन
कनेक्शन
कनेक्शन
कनेक्शन
कनेक्शन
कनेक्शन
कनेक्शन

Arduino Nano के लिए एक I2C शील्ड लें और इसे धीरे से नैनो के पिनों पर धकेलें।

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

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

चरण 3: कोड:

कोड
कोड

MMMA8452Q के लिए Arduino कोड हमारे github रिपॉजिटरी- DCUBE स्टोर से डाउनलोड किया जा सकता है।

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

हम Arduino बोर्ड के साथ सेंसर के I2c संचार की सुविधा के लिए लाइब्रेरी Wire.h शामिल करते हैं।

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

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

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

// MMA8452Q

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

#शामिल

// MMA8452Q I2C पता 0x1C (28) है

# परिभाषित करें Addr 0x1C

व्यर्थ व्यवस्था()

{

// I2C संचार को मास्टर के रूप में प्रारंभ करें

वायर.बेगिन ();

// सीरियल कम्युनिकेशन को इनिशियलाइज़ करें, बॉड रेट सेट करें = 9600

सीरियल.बेगिन (९६००);

// I2C ट्रांसमिशन शुरू करें

Wire.beginTransmission (Addr);

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

वायर.राइट (0x2A);

// आधार रीति

वायर.राइट (0x00);

// I2C ट्रांसमिशन बंद करो

वायर.एंडट्रांसमिशन ();

// I2C ट्रांसमिशन शुरू करें

Wire.beginTransmission (Addr);

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

वायर.राइट (0x2A);

// सक्रिय मोड

वायर.राइट (0x01);

// I2C ट्रांसमिशन बंद करो

वायर.एंडट्रांसमिशन ();

// I2C ट्रांसमिशन शुरू करें

Wire.beginTransmission (Addr);

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

वायर.राइट (0x0E);

// सीमा को +/- 2g. पर सेट करें

वायर.राइट (0x00);

// I2C ट्रांसमिशन बंद करो

वायर.एंडट्रांसमिशन ();

देरी (300);

}

शून्य लूप ()

{

अहस्ताक्षरित इंट डेटा [7];

// डेटा के 7 बाइट्स का अनुरोध करें

Wire.requestFrom (Addr, 7);

// डेटा के 7 बाइट्स पढ़ें

// स्टॉस, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

अगर (वायर.उपलब्ध () == 7)

{

डेटा [0] = वायर.रीड ();

डेटा [1] = वायर.रीड ();

डेटा [2] = वायर.रीड ();

डेटा [3] = वायर.रीड ();

डेटा [४] = वायर.रीड ();

डेटा [5] = वायर.रीड ();

डेटा [6] = वायर.रीड ();

}

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

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

अगर (xAccl> 2047)

{

xAccl -= ४०९६;

}

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

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

{

yAccl -= ४०९६;

}

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

अगर (zAccl> 2047)

{

zAccl -= ४०९६;

}

// सीरियल मॉनिटर को आउटपुट डेटा

Serial.print ("एक्स-एक्सिस में त्वरण:");

सीरियल.प्रिंट्लन (xAccl);

Serial.print ("Y-अक्ष में त्वरण:");

Serial.println (yAccl);

Serial.print ("जेड-एक्सिस में त्वरण:");

सीरियल.प्रिंट्लन (zAccl);

देरी (500);

}

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

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

सिफारिश की: