विषयसूची:
- चरण 1: हार्डवेयर की आवश्यकता:
- चरण 2: हार्डवेयर हुकअप:
- चरण 3: त्वरण के मापन के लिए कोड:
- चरण 4: अनुप्रयोग:
वीडियो: ADXL345 और कण फोटॉन का उपयोग करके त्वरण का मापन: 4 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
ADXL345 ±16 ग्राम तक के उच्च रिज़ॉल्यूशन (13-बिट) माप के साथ एक छोटा, पतला, अल्ट्रालो पावर, 3-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2 C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। यह झुकाव-संवेदन अनुप्रयोगों में गुरुत्वाकर्षण के स्थिर त्वरण के साथ-साथ गति या झटके से उत्पन्न गतिशील त्वरण को मापता है। इसका उच्च रिज़ॉल्यूशन (3.9 मिलीग्राम/एलएसबी) 1.0 डिग्री से कम के झुकाव परिवर्तन को मापने में सक्षम बनाता है।
इस ट्यूटोरियल में कण फोटॉन के साथ ADXL345 सेंसर मॉड्यूल के इंटरफेसिंग का चित्रण किया गया है। त्वरण मूल्यों को पढ़ने के लिए, हमने I2c एडेप्टर के साथ कण का उपयोग किया है। यह I2C एडेप्टर सेंसर मॉड्यूल से कनेक्शन को आसान और अधिक विश्वसनीय बनाता है।
चरण 1: हार्डवेयर की आवश्यकता:
अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:
1. ADXL345
2. कण फोटॉन
3. I2C केबल
4. कण फोटॉन के लिए I2C शील्ड
चरण 2: हार्डवेयर हुकअप:
हार्डवेयर हुकअप अनुभाग मूल रूप से सेंसर और कण फोटॉन के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:
ADXL345 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।
आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं।
आपको बस चार तार चाहिए! केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।
इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।
चरण 3: त्वरण के मापन के लिए कोड:
आइए अब कण कोड से शुरू करते हैं।
कण के साथ सेंसर मॉड्यूल का उपयोग करते समय, हम application.h और Spark_wiring_i2c.h लाइब्रेरी को शामिल करते हैं। "application.h" और Spark_wiring_i2c.h लाइब्रेरी में ऐसे कार्य हैं जो सेंसर और कण के बीच i2c संचार की सुविधा प्रदान करते हैं।
उपयोगकर्ता की सुविधा के लिए संपूर्ण कण कोड नीचे दिया गया है:
#शामिल
#शामिल
// ADXL345 I2C पता 0x53 (83) है
# परिभाषित करें Addr 0x53
इंट xAccl = 0, yAccl = 0, zAccl = 0;
व्यर्थ व्यवस्था()
{
// चर सेट करें
Particle.variable("i2cdevice", "ADXL345");
कण। चर ("xAccl", xAccl);
Particle.variable("yAccl", yAccl);
Particle.variable("zAccl", zAccl);
// I2C संचार को मास्टर के रूप में प्रारंभ करें
वायर.बेगिन ();
// सीरियल कम्युनिकेशन शुरू करें, बॉड रेट सेट करें = 9600
सीरियल.बेगिन (९६००);
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// बैंडविड्थ दर रजिस्टर का चयन करें
वायर.राइट (0x2C);
// आउटपुट डेटा दर = १०० हर्ट्ज का चयन करें
वायर.राइट (0x0A);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// पावर कंट्रोल रजिस्टर चुनें
वायर.राइट (0x2D);
// ऑटो स्लीप डिसेबल चुनें
वायर.राइट (0x08);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा प्रारूप रजिस्टर का चयन करें
वायर.राइट (0x31);
// पूर्ण रिज़ॉल्यूशन चुनें, +/- 2g
वायर.राइट (0x08);
// I2C ट्रांसमिशन समाप्त करें
वायर.एंडट्रांसमिशन ();
देरी (300);
}
शून्य लूप ()
{
अहस्ताक्षरित इंट डेटा [6];
for(int i = 0; i <6; i++)
{
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर का चयन करें
वायर.राइट ((50+i));
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डिवाइस से 1 बाइट डेटा का अनुरोध करें
Wire.requestFrom (Addr, 1);
// डेटा के 6 बाइट्स पढ़ें
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
अगर (वायर। उपलब्ध () == 1)
{
डेटा = वायर.रीड ();
}
देरी (300);
}
// डेटा को 10-बिट्स में बदलें
int xAccl = (((डेटा [1] और 0x03) * 256) + डेटा [0]);
अगर (एक्सएसीएल> 511)
{
xAccl -= १०२४;
}
int yAccl = (((डेटा [3] और 0x03) * 256) + डेटा [2]);
अगर (वाईएसीएल> 511)
{
yAccl -= १०२४;
}
int zAccl = (((डेटा [5] और 0x03) * 256) + डेटा [4]);
अगर (zAccl> 511)
{
zAccl -= १०२४;
}
// डैशबोर्ड पर आउटपुट डेटा
Particle.publish ("एक्स-एक्सिस में त्वरण है:", स्ट्रिंग (xAccl));
Particle.publish ("Y-अक्ष में त्वरण है:", स्ट्रिंग (yAccl));
Particle.publish ("जेड-एक्सिस में त्वरण है:", स्ट्रिंग (zAccl));
}
Particle.variable() फ़ंक्शन सेंसर के आउटपुट को स्टोर करने के लिए वेरिएबल बनाता है और Particle.publish() फ़ंक्शन साइट के डैशबोर्ड पर आउटपुट प्रदर्शित करता है।
सेंसर आउटपुट आपके संदर्भ के लिए ऊपर चित्र में दिखाया गया है।
चरण 4: अनुप्रयोग:
ADXL345 एक छोटा, पतला, अल्ट्रालो पावर, 3-एक्सिस एक्सेलेरोमीटर है जिसे हैंडसेट, मेडिकल इंस्ट्रूमेंटेशन आदि में लगाया जा सकता है। इसके एप्लिकेशन में गेमिंग और पॉइंटिंग डिवाइस, इंडस्ट्रियल इंस्ट्रूमेंटेशन, पर्सनल नेविगेशन डिवाइस और हार्ड डिस्क ड्राइव (HDD) प्रोटेक्शन भी शामिल है।
सिफारिश की:
H3LIS331DL और Arduino नैनो का उपयोग करके त्वरण का मापन: 4 चरण
H3LIS331DL और Arduino नैनो का उपयोग करके त्वरण का मापन: H3LIS331DL, डिजिटल I²C सीरियल इंटरफ़ेस के साथ "नैनो" परिवार से संबंधित एक कम-शक्ति उच्च प्रदर्शन 3-अक्ष रैखिक एक्सेलेरोमीटर है। H3LIS331DL में ± 100g/±200g/±400g के उपयोगकर्ता चयन योग्य पूर्ण पैमाने हैं और यह त्वरण को मापने में सक्षम है
H3LIS331DL और कण फोटॉन का उपयोग करके त्वरण का मापन: 4 चरण
H3LIS331DL और कण फोटॉन का उपयोग करके त्वरण का मापन: H3LIS331DL, डिजिटल I²C सीरियल इंटरफ़ेस के साथ "नैनो" परिवार से संबंधित एक कम-शक्ति उच्च प्रदर्शन 3-अक्ष रैखिक एक्सेलेरोमीटर है। H3LIS331DL में ± 100g/±200g/±400g के उपयोगकर्ता चयन योग्य पूर्ण पैमाने हैं और यह त्वरण को मापने में सक्षम है
ADXL345 और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: 4 चरण
ADXL345 और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: ADXL345 ±16 ग्राम तक के उच्च रिज़ॉल्यूशन (13-बिट) माप के साथ एक छोटा, पतला, अल्ट्रालो पावर, 3-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2 C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। इसे मापता है
ADXL345 और Arduino नैनो का उपयोग करके त्वरण का मापन: 4 चरण
ADXL345 और Arduino नैनो का उपयोग करके त्वरण का मापन: ADXL345 ±16 ग्राम तक उच्च रिज़ॉल्यूशन (13-बिट) माप के साथ एक छोटा, पतला, अल्ट्रालो पावर, 3-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2 C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। इसे मापता है
बीएमए २५० और कण फोटॉन का उपयोग कर त्वरण मापन: ४ कदम
बीएमए २५० और कण फोटॉन का उपयोग कर त्वरण मापन: बीएमए २५० ± १६ ग्राम तक उच्च रिज़ॉल्यूशन (१३-बिट) माप के साथ एक छोटी, पतली, अल्ट्रालो पावर, ३-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। यह स्थिर मापता है