विषयसूची:

कण के साथ 3-एक्सिस गायरोस्कोप सेंसर बीएमजी 160 का इंटरफेसिंग: 5 कदम
कण के साथ 3-एक्सिस गायरोस्कोप सेंसर बीएमजी 160 का इंटरफेसिंग: 5 कदम

वीडियो: कण के साथ 3-एक्सिस गायरोस्कोप सेंसर बीएमजी 160 का इंटरफेसिंग: 5 कदम

वीडियो: कण के साथ 3-एक्सिस गायरोस्कोप सेंसर बीएमजी 160 का इंटरफेसिंग: 5 कदम
वीडियो: 12000 1212 kaise likhen.#shorts 2024, जुलाई
Anonim
Image
Image

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

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

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

1. बीएमजी160

2. कण फोटोन

3. I2C केबल

4. कण फोटॉन के लिए I2C शील्ड

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

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

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

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

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

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

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

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

1. बीएमजी160

2. कण फोटॉन

3. I2C केबल

4. कण फोटॉन के लिए I2C शील्ड

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

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

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

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

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

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

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

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

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

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

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

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

#शामिल

#शामिल

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

#define Addr 0x68

इंट xGyro = 0, yGyro = 0, zGyro = 0;

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

{

// चर सेट करें

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

Particle.variable("xGyro", xGyro);

Particle.variable("yGyro", yGyro);

Particle.variable("zGyro", zGyro);

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

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

// सीरियल कम्युनिकेशन शुरू करें

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

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

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

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

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

{

xGyro - = ६५५३६;

}

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

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

{

yGyro -= ६५५३६;

}

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

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

{

zGyro -= ६५५३६;

}

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

Particle.publish ("एक्स-एक्सिस ऑफ़ रोटेशन:", स्ट्रिंग (xGyro));

Particle.publish("Y-Axis of Rotation:", String(yGyro));

Particle.publish("Z-Axis of Rotation:", String(zGyro));

देरी (1000);

}

चरण 5: आवेदन:

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

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

सिफारिश की: