विषयसूची:

H3LIS331DL और कण फोटॉन का उपयोग करके त्वरण का मापन: 4 चरण
H3LIS331DL और कण फोटॉन का उपयोग करके त्वरण का मापन: 4 चरण

वीडियो: H3LIS331DL और कण फोटॉन का उपयोग करके त्वरण का मापन: 4 चरण

वीडियो: H3LIS331DL और कण फोटॉन का उपयोग करके त्वरण का मापन: 4 चरण
वीडियो: Raspberry Pi H3LIS331DL 3-Axis Linear Accelerometer Java Tutorial 2024, नवंबर
Anonim
Image
Image

H3LIS331DL, डिजिटल I²C सीरियल इंटरफ़ेस के साथ "नैनो" परिवार से संबंधित एक कम-शक्ति वाला उच्च प्रदर्शन 3-अक्ष रैखिक एक्सेलेरोमीटर है। H3LIS331DL में ± 100g/±200g/±400g के उपयोगकर्ता चयन योग्य पूर्ण पैमाने हैं और यह 0.5 हर्ट्ज से 1 किलोहर्ट्ज़ तक आउटपुट डेटा दरों के साथ त्वरण को मापने में सक्षम है। H3LIS331DL को -40 डिग्री सेल्सियस से +85 डिग्री सेल्सियस तक विस्तारित तापमान सीमा पर संचालित करने की गारंटी है।

इस ट्यूटोरियल में हम कण फोटॉन के साथ H3LIS331DL के इंटरफेसिंग को प्रदर्शित करने जा रहे हैं।

चरण 1: हार्डवेयर की आवश्यकता:

हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता
हार्डवेयर की आवश्यकता

अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:

1. H3LIS331DL

2. कण फोटॉन

3. I2C केबल

4. कण फोटॉन के लिए I2C ढाल

चरण 2: हार्डवेयर हुकअप:

हार्डवेयर हुकअप
हार्डवेयर हुकअप
हार्डवेयर हुकअप
हार्डवेयर हुकअप

हार्डवेयर हुकअप अनुभाग मूल रूप से सेंसर और कण फोटॉन के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:

H3LIS331DL I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।

आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं। आपको बस चार तार चाहिए!

केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।

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

चरण 3: त्वरण मापन के लिए कोड:

त्वरण मापन के लिए कोड
त्वरण मापन के लिए कोड

आइए अब कण कोड से शुरू करते हैं।

Arduino के साथ सेंसर मॉड्यूल का उपयोग करते समय, हम application.h और Spark_wiring_i2c.h लाइब्रेरी को शामिल करते हैं। "application.h" और Spark_wiring_i2c.h लाइब्रेरी में ऐसे कार्य हैं जो सेंसर और कण के बीच i2c संचार की सुविधा प्रदान करते हैं।

उपयोगकर्ता की सुविधा के लिए संपूर्ण कण कोड नीचे दिया गया है:

#शामिल

#शामिल

// H3LIS331DL I2C पता 0x18 (24) है

#परिभाषित जोड़ें 0x18

इंट xAccl = 0, yAccl = 0, zAccl = 0;

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

{

// चर सेट करें

Particle.variable("i2cdevice", "H3LIS331DL");

कण। चर ("xAccl", xAccl);

Particle.variable("yAccl", yAccl);

Particle.variable("zAccl", zAccl);

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

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

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

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

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

Wire.beginTransmission (Addr);

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

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

// एक्स, वाई, जेड अक्ष, पावर ऑन मोड, डेटा आउटपुट दर 50 हर्ट्ज सक्षम करें

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

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

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

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

Wire.beginTransmission (Addr);

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

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

// पूर्ण पैमाने पर सेट करें, +/- 100 ग्राम, निरंतर अद्यतन

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

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

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

देरी (300);

}

शून्य लूप ()

{

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

for(int i = 0; i <6; i++)

{

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

Wire.beginTransmission (Addr);

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

वायर.राइट ((40 + i));

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

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

// डेटा के 1 बाइट का अनुरोध करें

Wire.requestFrom (Addr, 1);

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

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

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

{

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

}

देरी (300);

}

// डेटा कनवर्ट करें

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

अगर (एक्सएसीएल> 32767)

{

xAccl -= ६५५३६;

}

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

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

{

yAccl -= ६५५३६;

}

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

अगर (zAccl> ३२७६७)

{

zAccl -= ६५५३६;

}

// डैशबोर्ड पर आउटपुट डेटा

Particle.publish ("एक्स-एक्सिस में त्वरण है:", स्ट्रिंग (xAccl));

Particle.publish ("Y-अक्ष में त्वरण है:", स्ट्रिंग (yAccl));

Particle.publish ("जेड-एक्सिस में त्वरण है:", स्ट्रिंग (zAccl));

देरी (300);

}

Particle.variable() फ़ंक्शन सेंसर के आउटपुट को स्टोर करने के लिए वेरिएबल बनाता है और Particle.publish() फ़ंक्शन साइट के डैशबोर्ड पर आउटपुट प्रदर्शित करता है।

सेंसर आउटपुट आपके संदर्भ के लिए ऊपर चित्र में दिखाया गया है।

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

अनुप्रयोग
अनुप्रयोग

H3LIS331DL जैसे एक्सेलेरोमीटर ज्यादातर गेम और डिस्प्ले प्रोफाइल स्विचिंग में अपना आवेदन पाते हैं। यह सेंसर मॉड्यूल मोबाइल अनुप्रयोगों के लिए उन्नत पावर प्रबंधन प्रणाली में भी कार्यरत है। H3LIS331DL एक त्रिअक्षीय डिजिटल त्वरण सेंसर है जिसे एक बुद्धिमान ऑन-चिप गति ट्रिगर इंटरप्ट नियंत्रक के साथ शामिल किया गया है।

सिफारिश की: