विषयसूची:

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

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

वीडियो: H3LIS331DL और Arduino नैनो का उपयोग करके त्वरण का मापन: 4 चरण
वीडियो: 9-Axis IMU LESSON 3: Understanding How Accelerometers Work 2024, जुलाई
Anonim
Image
Image

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

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

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

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

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

1. H3LIS331DL

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

3. I2C केबल

4. Arduino नैनो के लिए I2C शील्ड

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

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

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

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

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

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

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

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

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

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

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

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

#शामिल

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

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

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

{

// 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]);

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

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

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

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

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

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

Serial.println (yAccl);

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

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

देरी (300);

}

आपको बस इतना करना है कि कोड को arduino में बर्न करें और सीरियल पोर्ट पर अपने रीडिंग की जांच करें। आउटपुट ऊपर की तस्वीर में दिखाया गया है।

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

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

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

सिफारिश की: