विषयसूची:
वीडियो: Arduino नैनो - MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर ट्यूटोरियल: 4 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
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डी यूजर पोजिशन फीडबैक सहित ओरिएंटेशन डिटेक्शन, रियल-टाइम एक्टिविटी एनालिसिस जैसे पेडोमीटर स्टेप काउंटिंग, एचडीडी के लिए फ्रीफॉल ड्रॉप डिटेक्शन, डेड-रेकनिंग जीपीएस बैकअप और बहुत कुछ।
सिफारिश की:
Arduino नैनो - TSL45315 परिवेश प्रकाश संवेदक ट्यूटोरियल: 4 चरण
Arduino Nano - TSL45315 परिवेश प्रकाश संवेदक ट्यूटोरियल: TSL45315 एक डिजिटल परिवेश प्रकाश संवेदक है। यह विभिन्न प्रकाश स्थितियों के तहत मानव आंख की प्रतिक्रिया का अनुमान लगाता है। उपकरणों में तीन चयन योग्य एकीकरण समय होते हैं और I2C बस इंटरफ़ेस के माध्यम से प्रत्यक्ष 16-बिट लक्स आउटपुट प्रदान करते हैं। डिवाइस सह
Arduino नैनो - MPL3115A2 प्रेसिजन अल्टीमीटर सेंसर ट्यूटोरियल: 4 चरण
Arduino Nano - MPL3115A2 प्रेसिजन अल्टीमीटर सेंसर ट्यूटोरियल: MPL3115A2 सटीक दबाव/ऊंचाई और तापमान डेटा प्रदान करने के लिए I2C इंटरफ़ेस के साथ एक MEMS प्रेशर सेंसर का उपयोग करता है। सेंसर आउटपुट को उच्च रिज़ॉल्यूशन 24-बिट एडीसी द्वारा डिजीटल किया जाता है। आंतरिक प्रसंस्करण मुआवजे के कार्यों को हटा देता है
Arduino नैनो - BH1715 डिजिटल परिवेश प्रकाश संवेदक ट्यूटोरियल: 4 चरण
Arduino Nano - BH1715 Digital Ambient Light sensor Tutorial: BH1715 I²C बस इंटरफेस के साथ एक डिजिटल एम्बिएंट लाइट सेंसर है। BH1715 का उपयोग आमतौर पर मोबाइल उपकरणों के लिए एलसीडी और कीपैड बैकलाइट पावर को समायोजित करने के लिए परिवेश प्रकाश डेटा प्राप्त करने के लिए किया जाता है। यह डिवाइस एक 16-बिट रिज़ॉल्यूशन और एक एडजस प्रदान करता है
Arduino नैनो: एक्सेलेरोमीटर Gyroscope Compass MPU9250 I2C सेंसर विसुइनो के साथ: 11 कदम
Arduino Nano: Accelerometer Gyroscope Compass MPU9250 I2C sensor with Visuino: MPU9250 वर्तमान में उपलब्ध सबसे उन्नत संयुक्त एक्सेलेरोमीटर, जायरोस्कोप और कम्पास छोटे आकार के सेंसर में से एक है। उनके पास कई उन्नत विशेषताएं हैं, जिनमें कम पास फ़िल्टरिंग, गति का पता लगाना और यहां तक कि एक प्रोग्राम योग्य विशेष प्रोसेसर भी शामिल है
एक्सेलेरोमीटर और गायरो ट्यूटोरियल: ३ चरण
Accelerometer & Gyro Tutorial: परिचय यह मार्गदर्शिका उन सभी के लिए अभिप्रेत है जो अपने इलेक्ट्रॉनिक्स प्रोजेक्ट्स में Accelerometers और Gyroscopes के साथ-साथ संयोजन IMU उपकरणों (जड़त्वीय मापन इकाई) का उपयोग करने में रुचि रखते हैं, हम कवर करेंगे: एक्सेलेरोमीटर क्या मापता है?