विषयसूची:
- चरण 1: हार्डवेयर की आवश्यकता:
- चरण 2: हार्डवेयर हुकअप:
- चरण 3: त्वरण मापन के लिए Arduino कोड:
- चरण 4: अनुप्रयोग:
वीडियो: बीएमए २५० और अरुडिनो नैनो का उपयोग कर त्वरण मापन: ४ कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
BMA250 ±16 g तक के उच्च रिज़ॉल्यूशन (13-बिट) माप के साथ एक छोटा, पतला, अल्ट्रालो पावर, 3-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। यह झुकाव-संवेदन अनुप्रयोगों में गुरुत्वाकर्षण के स्थिर त्वरण के साथ-साथ गति या झटके से उत्पन्न गतिशील त्वरण को मापता है। इसका उच्च रिज़ॉल्यूशन (3.9 मिलीग्राम/एलएसबी) 1.0 डिग्री से कम के झुकाव परिवर्तन को मापने में सक्षम बनाता है।
इस ट्यूटोरियल में हम BMA250 और Arduino Nano का उपयोग करके तीनों लंबवत अक्षों में त्वरण को मापने जा रहे हैं।
चरण 1: हार्डवेयर की आवश्यकता:
अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:
1. बीएमए250
2. अरुडिनो नैनो
3. I2C केबल
4. Arduino नैनो के लिए I2C शील्ड
चरण 2: हार्डवेयर हुकअप:
हार्डवेयर हुकअप सेक्शन मूल रूप से सेंसर और आर्डिनो के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:
BMA250 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।
आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं। आपको बस चार तार चाहिए!
केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।
इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।
चरण 3: त्वरण मापन के लिए Arduino कोड:
आइए अब Arduino कोड से शुरू करते हैं।
Arduino के साथ सेंसर मॉड्यूल का उपयोग करते समय, हम Wire.h लाइब्रेरी को शामिल करते हैं। "वायर" लाइब्रेरी में ऐसे कार्य होते हैं जो सेंसर और Arduino बोर्ड के बीच i2c संचार की सुविधा प्रदान करते हैं।
उपयोगकर्ता की सुविधा के लिए संपूर्ण Arduino कोड नीचे दिया गया है:
#शामिल
// BMA250 I2C पता 0x18 (24) है
#परिभाषित जोड़ें 0x18
व्यर्थ व्यवस्था()
{
// I2C संचार को मास्टर के रूप में प्रारंभ करें
वायर.बेगिन ();
// सीरियल कम्युनिकेशन को इनिशियलाइज़ करें, बॉड रेट सेट करें = 9600
सीरियल.बेगिन (९६००);
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// श्रेणी चयन रजिस्टर का चयन करें
वायर.राइट (0x0F);
// सेट रेंज +/- 2g
वायर.राइट (0x03);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// बैंडविड्थ रजिस्टर चुनें
वायर.राइट (0x10);
// बैंडविड्थ 7.81 हर्ट्ज सेट करें
वायर.राइट (0x08);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन (); देरी (300);}
शून्य लूप ()
{
अहस्ताक्षरित इंट डेटा [0];
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर चुनें (0x02 - 0x07)
वायर.राइट (0x02);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// 6 बाइट्स का अनुरोध करें
Wire.requestFrom (Addr, 6);
// छह बाइट्स पढ़ें
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
अगर (वायर.उपलब्ध () == 6)
{
डेटा [0] = वायर.रीड ();
डेटा [1] = वायर.रीड ();
डेटा [2] = वायर.रीड ();
डेटा [3] = वायर.रीड ();
डेटा [४] = वायर.रीड ();
डेटा [5] = वायर.रीड ();
}
देरी (300);
// डेटा को 10 बिट्स में बदलें
फ्लोट xAccl = ((डेटा [1] * 256.0) + (डेटा [0] और 0xC0)) / 64;
अगर (एक्सएसीएल> 511)
{
xAccl -= १०२४;
}
फ्लोट yAccl = ((डेटा [3] * 256.0) + (डेटा [2] और 0xC0)) / 64;
अगर (वाईएसीएल> 511)
{
yAccl -= १०२४;
}
फ्लोट zAccl = ((डेटा [5] * 256.0) + (डेटा [4] और 0xC0)) / 64;
अगर (zAccl> 511)
{
zAccl -= १०२४;
}
// सीरियल मॉनिटर को आउटपुट डेटा
Serial.print ("एक्स-एक्सिस में त्वरण:");
सीरियल.प्रिंट्लन (xAccl);
Serial.print ("Y-अक्ष में त्वरण:");
Serial.println (yAccl);
Serial.print ("जेड-एक्सिस में त्वरण:");
Serial.println(zAccl);
}
वायर लाइब्रेरी में वायर.राइट () और वायर.रीड () का उपयोग कमांड लिखने और सेंसर आउटपुट को पढ़ने के लिए किया जाता है। Serial.print() और Serial.println() का उपयोग Arduino IDE के सीरियल मॉनीटर पर सेंसर आउटपुट प्रदर्शित करने के लिए किया जाता है।
सेंसर आउटपुट ऊपर की तस्वीर में दिखाया गया है।
चरण 4: अनुप्रयोग:
BMA250 जैसे एक्सेलेरोमीटर ज्यादातर गेम और डिस्प्ले प्रोफाइल स्विचिंग में अपना एप्लीकेशन ढूंढते हैं। यह सेंसर मॉड्यूल मोबाइल अनुप्रयोगों के लिए उन्नत पावर प्रबंधन प्रणाली में भी कार्यरत है। BMA250 एक त्रिअक्षीय डिजिटल त्वरण सेंसर है जिसे एक बुद्धिमान ऑन-चिप गति ट्रिगर इंटरप्ट नियंत्रक के साथ शामिल किया गया है।
सिफारिश की:
ADXL345 और कण फोटॉन का उपयोग करके त्वरण का मापन: 4 चरण
ADXL345 और कण फोटॉन का उपयोग करके त्वरण का मापन: ADXL345 ±16 ग्राम तक उच्च रिज़ॉल्यूशन (13-बिट) माप के साथ एक छोटा, पतला, अल्ट्रालो पावर, 3-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2 C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। इसे मापता है
H3LIS331DL और Arduino नैनो का उपयोग करके त्वरण का मापन: 4 चरण
H3LIS331DL और Arduino नैनो का उपयोग करके त्वरण का मापन: H3LIS331DL, डिजिटल I²C सीरियल इंटरफ़ेस के साथ "नैनो" परिवार से संबंधित एक कम-शक्ति उच्च प्रदर्शन 3-अक्ष रैखिक एक्सेलेरोमीटर है। H3LIS331DL में ± 100g/±200g/±400g के उपयोगकर्ता चयन योग्य पूर्ण पैमाने हैं और यह त्वरण को मापने में सक्षम है
ADXL345 और Arduino नैनो का उपयोग करके त्वरण का मापन: 4 चरण
ADXL345 और Arduino नैनो का उपयोग करके त्वरण का मापन: ADXL345 ±16 ग्राम तक उच्च रिज़ॉल्यूशन (13-बिट) माप के साथ एक छोटा, पतला, अल्ट्रालो पावर, 3-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2 C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। इसे मापता है
बीएमए २५० और रास्पबेरी पाई का उपयोग कर त्वरण मापन: ४ कदम
बीएमए २५० और रास्पबेरी पाई का उपयोग कर त्वरण मापन: बीएमए २५० ± १६ ग्राम तक के उच्च रिज़ॉल्यूशन (१३-बिट) माप के साथ एक छोटी, पतली, अल्ट्रालो पावर, ३-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। यह स्थिर मापता है
बीएमए २५० और कण फोटॉन का उपयोग कर त्वरण मापन: ४ कदम
बीएमए २५० और कण फोटॉन का उपयोग कर त्वरण मापन: बीएमए २५० ± १६ ग्राम तक उच्च रिज़ॉल्यूशन (१३-बिट) माप के साथ एक छोटी, पतली, अल्ट्रालो पावर, ३-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। यह स्थिर मापता है