विषयसूची:

Arduino नैनो के साथ 3-एक्सिस गायरोस्कोप सेंसर BMG160 का इंटरफेसिंग: 5 कदम
Arduino नैनो के साथ 3-एक्सिस गायरोस्कोप सेंसर BMG160 का इंटरफेसिंग: 5 कदम

वीडियो: Arduino नैनो के साथ 3-एक्सिस गायरोस्कोप सेंसर BMG160 का इंटरफेसिंग: 5 कदम

वीडियो: Arduino नैनो के साथ 3-एक्सिस गायरोस्कोप सेंसर BMG160 का इंटरफेसिंग: 5 कदम
वीडियो: Interfacing L3G4200 triple axis Gyro with Arduino 2024, दिसंबर
Anonim
Image
Image

आज की दुनिया में, आधे से अधिक युवा और बच्चे गेमिंग के शौकीन हैं और वे सभी जो इसके शौकीन हैं, गेमिंग के तकनीकी पहलुओं से मोहित हैं, इस डोमेन में मोशन सेंसिंग के महत्व को जानते हैं। हम भी उसी चीज़ से चकित थे और बस इसे बोर्ड पर लाने के लिए, हमने एक जाइरोस्कोप सेंसर पर काम करने के बारे में सोचा जो किसी भी वस्तु की कोणीय दर को माप सकता है। तो, इस कार्य से निपटने के लिए हमने जो सेंसर लिया वह BMG160 है। BMG160 एक 16-बिट, डिजिटल, त्रिअक्षीय, जाइरोस्कोप सेंसर है जो तीन लंबवत कमरे के आयामों में कोणीय दर को माप सकता है।

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

इस उद्देश्य के लिए आपको जिन हार्डवेयर की आवश्यकता होगी वे इस प्रकार हैं:

1. बीएमजी160

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

3. I2C केबल

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

चरण 1: BMG160 अवलोकन:

जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!

सबसे पहले हम आपको सेंसर मॉड्यूल की बुनियादी विशेषताओं से परिचित कराना चाहते हैं जो कि BMG160 है और संचार प्रोटोकॉल जिस पर यह काम करता है।

BMG160 मूल रूप से एक 16-बिट, डिजिटल, त्रिअक्षीय, जाइरोस्कोप सेंसर है जो कोणीय दरों को माप सकता है। यह तीन लंबवत कमरे के आयामों, x-, y- और z- अक्ष में कोणीय दरों की गणना करने और संबंधित आउटपुट सिग्नल प्रदान करने में सक्षम है। यह I2C संचार प्रोटोकॉल का उपयोग करके रास्पबेरी पाई बोर्ड के साथ संचार कर सकता है। यह विशेष मॉड्यूल उपभोक्ता अनुप्रयोगों के साथ-साथ औद्योगिक उद्देश्यों के लिए आवश्यकताओं को पूरा करने के लिए डिज़ाइन किया गया है।

संचार प्रोटोकॉल जिस पर सेंसर काम करता है I2C है। I2C का मतलब इंटर-इंटीग्रेटेड सर्किट है। यह एक संचार प्रोटोकॉल है जिसमें संचार एसडीए (सीरियल डेटा) और एससीएल (सीरियल क्लॉक) लाइनों के माध्यम से होता है। यह एक ही समय में कई उपकरणों को जोड़ने की अनुमति देता है। यह सबसे सरल और सबसे कुशल संचार प्रोटोकॉल में से एक है।

चरण 2: आपको क्या चाहिए..

जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!

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

1. बीएमजी160

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

3. I2C केबल

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

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

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

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

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

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

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

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

चरण 4: 3-अक्ष Gyroscope माप Arduino कोड:

3-एक्सिस गायरोस्कोप मापन Arduino कोड
3-एक्सिस गायरोस्कोप मापन Arduino कोड
3-एक्सिस गायरोस्कोप मापन Arduino कोड
3-एक्सिस गायरोस्कोप मापन Arduino कोड

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

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

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

#include// BMG160 I2C पता 0x68(104) है

#define Addr 0x68

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

{

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

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

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

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

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

Wire.beginTransmission (Addr);

// रेंज रजिस्टर चुनें

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

// पूर्ण पैमाने की सीमा 2000 डीपीएस कॉन्फ़िगर करें

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

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

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

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

Wire.beginTransmission (Addr);

// बैंडविड्थ रजिस्टर चुनें

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

// सेट बैंडविड्थ = २०० हर्ट्ज

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

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

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

देरी (300);

}

शून्य लूप ()

{

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

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

Wire.beginTransmission (Addr);

// गायरोमीटर डेटा रजिस्टर का चयन करें

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

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

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

// डेटा के 6 बाइट्स का अनुरोध करें

Wire.requestFrom (Addr, 6);

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

// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb

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

{

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

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

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

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

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

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

}

देरी (300);

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

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

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

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

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

Serial.print ("रोटेशन का एक्स-एक्सिस:");

Serial.println (xGyro); सीरियल.प्रिंट ("रोटेशन का वाई-एक्सिस:");

Serial.println (yGyro); सीरियल.प्रिंट ("रोटेशन का जेड-एक्सिस:");

Serial.println (zGyro);

देरी (500);

}

चरण 5: आवेदन:

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

BMG160 में सेल फोन, मानव मशीन इंटरफेस उपकरणों जैसे उपकरणों में विभिन्न प्रकार के अनुप्रयोग हैं। इस सेंसर मॉड्यूल को छवि स्थिरीकरण (डीएससी और कैमरा-फोन), गेमिंग और पॉइंटिंग डिवाइस जैसे उपभोक्ता अनुप्रयोगों की आवश्यकताओं को पूरा करने के लिए डिज़ाइन किया गया है। यह उन प्रणालियों में भी प्रयोग किया जाता है जिनके लिए हावभाव पहचान की आवश्यकता होती है और इनडोर नेविगेशन में उपयोग किए जाने वाले सिस्टम।

सिफारिश की: