विषयसूची:
- चरण 1: हार्डवेयर की आवश्यकता:
- चरण 2: हार्डवेयर हुकअप:
- चरण 3: मोशन ट्रैकिंग के लिए कोड:
- चरण 4: अनुप्रयोग:
वीडियो: MPU-6000 और Arduino नैनो का उपयोग करके मोशन ट्रैकिंग: 4 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
MPU-6000 एक 6-एक्सिस मोशन ट्रैकिंग सेंसर है जिसमें 3-एक्सिस एक्सेलेरोमीटर और 3-एक्सिस गायरोस्कोप एम्बेडेड है। यह सेंसर 3-आयामी विमान में किसी वस्तु की सटीक स्थिति और स्थान की कुशल ट्रैकिंग करने में सक्षम है। इसे उन प्रणालियों में नियोजित किया जा सकता है जिन्हें उच्चतम परिशुद्धता के लिए स्थिति विश्लेषण की आवश्यकता होती है।
इस ट्यूटोरियल में arduino नैनो के साथ MPU-6000 सेंसर मॉड्यूल की इंटरफेसिंग को चित्रित किया गया है। त्वरण और घूर्णी कोण के मूल्यों को पढ़ने के लिए, हमने I2c एडेप्टर के साथ arduino nano का उपयोग किया है। यह I2C एडेप्टर सेंसर मॉड्यूल से कनेक्शन को आसान और अधिक विश्वसनीय बनाता है।
चरण 1: हार्डवेयर की आवश्यकता:
अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:
1. एमपीयू-6000
2. अरुडिनो नैनो
3. I2C केबल
4. arduino nano. के लिए I2C शील्ड
चरण 2: हार्डवेयर हुकअप:
हार्डवेयर हुकअप सेक्शन मूल रूप से सेंसर और आर्डिनो नैनो के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:
MPU-6000 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।
आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं।
आपको बस चार तार चाहिए! केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।
इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।
चरण 3: मोशन ट्रैकिंग के लिए कोड:
आइए अब arduino कोड से शुरू करते हैं।
Arduino के साथ सेंसर मॉड्यूल का उपयोग करते समय, हम Wire.h लाइब्रेरी को शामिल करते हैं। "वायर" लाइब्रेरी में ऐसे कार्य होते हैं जो सेंसर और आर्डिनो बोर्ड के बीच i2c संचार की सुविधा प्रदान करते हैं।
उपयोगकर्ता की सुविधा के लिए संपूर्ण arduino कोड नीचे दिया गया है:
#शामिल
// MPU-6000 I2C पता 0x68 (104) है
#define Addr 0x68
व्यर्थ व्यवस्था()
{
// I2C संचार को मास्टर के रूप में प्रारंभ करें
वायर.बेगिन ();
// सीरियल कम्युनिकेशन शुरू करें, बॉड रेट सेट करें = 9600
सीरियल.बेगिन (९६००);
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// जाइरोस्कोप कॉन्फ़िगरेशन रजिस्टर का चयन करें
वायर.राइट (0x1B);
// फुल स्केल रेंज = 2000 डीपीएस
वायर.राइट (0x18);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// एक्सेलेरोमीटर कॉन्फ़िगरेशन रजिस्टर चुनें
वायर.राइट (0x1C);
// पूर्ण पैमाने की सीमा = +/- 16g
वायर.राइट (0x18);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// पावर मैनेजमेंट रजिस्टर चुनें
वायर.राइट (0x6B);
// xGyro संदर्भ के साथ PLL
वायर.राइट (0x01);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
देरी (300);
}
शून्य लूप ()
{
अहस्ताक्षरित इंट डेटा [6];
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर का चयन करें
वायर.राइट (0x3B);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 6 बाइट्स का अनुरोध करें
Wire.requestFrom (Addr, 6);
// 6 बाइट डेटा पढ़ें
अगर (वायर.उपलब्ध () == 6)
{
डेटा [0] = वायर.रीड ();
डेटा [1] = वायर.रीड ();
डेटा [2] = वायर.रीड ();
डेटा [3] = वायर.रीड ();
डेटा [४] = वायर.रीड ();
डेटा [5] = वायर.रीड ();
}
// डेटा कनवर्ट करें
इंट xAccl = डेटा [0] * 256 + डेटा [1];
int yAccl = डेटा [2] * 256 + डेटा [3];
int zAccl = डेटा [४] * २५६ + डेटा [५];
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर का चयन करें
वायर.राइट (0x43);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 6 बाइट्स का अनुरोध करें
Wire.requestFrom (Addr, 6);
// 6 बाइट डेटा पढ़ें
अगर (वायर.उपलब्ध () == 6)
{
डेटा [0] = वायर.रीड ();
डेटा [1] = वायर.रीड ();
डेटा [2] = वायर.रीड ();
डेटा [3] = वायर.रीड ();
डेटा [४] = वायर.रीड ();
डेटा [5] = वायर.रीड ();
}
// डेटा कनवर्ट करें
इंट xGyro = डेटा [0] * 256 + डेटा [1];
int yGyro = डेटा [2] * २५६ + डेटा [३];
int zGyro = डेटा [४] * २५६ + डेटा [५];
// सीरियल मॉनिटर को आउटपुट डेटा
Serial.print ("एक्स-एक्सिस में त्वरण:");
सीरियल.प्रिंट्लन (xAccl);
Serial.print ("Y-अक्ष में त्वरण:");
Serial.println (yAccl);
Serial.print ("जेड-एक्सिस में त्वरण:");
सीरियल.प्रिंट्लन (zAccl);
Serial.print ("रोटेशन का एक्स-एक्सिस:");
Serial.println (xGyro);
सीरियल.प्रिंट ("रोटेशन का वाई-एक्सिस:");
Serial.println (yGyro);
सीरियल.प्रिंट ("रोटेशन का जेड-एक्सिस:");
Serial.println (zGyro);
देरी (500);
}
वायर लाइब्रेरी में वायर.राइट () और वायर.रीड () का उपयोग कमांड लिखने और सेंसर आउटपुट को पढ़ने के लिए किया जाता है।
Serial.print() और Serial.println() का उपयोग Arduino IDE के सीरियल मॉनीटर पर सेंसर के आउटपुट को प्रदर्शित करने के लिए किया जाता है।
सेंसर का आउटपुट ऊपर की तस्वीर में दिखाया गया है।
चरण 4: अनुप्रयोग:
MPU-6000 एक मोशन ट्रैकिंग सेंसर है, जो स्मार्टफोन और टैबलेट के मोशन इंटरफेस में अपना एप्लिकेशन ढूंढता है। स्मार्टफोन में इन सेंसरों को अनुप्रयोगों और फोन नियंत्रण, उन्नत गेमिंग, संवर्धित वास्तविकता, मनोरम फोटो कैप्चर और देखने, और पैदल यात्री और वाहन नेविगेशन के लिए जेस्चर कमांड जैसे अनुप्रयोगों में नियोजित किया जा सकता है। मोशनट्रैकिंग तकनीक हैंडसेट और टैबलेट को शक्तिशाली 3डी इंटेलिजेंट डिवाइसों में बदल सकती है जिनका उपयोग स्वास्थ्य और फिटनेस निगरानी से लेकर स्थान-आधारित सेवाओं तक के अनुप्रयोगों में किया जा सकता है।
सिफारिश की:
CPS120 और Arduino नैनो का उपयोग करके दबाव मापन: 4 कदम
CPS120 और Arduino Nano का उपयोग करके दबाव मापन: CPS120 पूरी तरह से मुआवजा आउटपुट के साथ एक उच्च गुणवत्ता और कम लागत वाला कैपेसिटिव एब्सोल्यूट प्रेशर सेंसर है। यह बहुत कम बिजली की खपत करता है और इसमें दबाव माप के लिए एक अल्ट्रा स्मॉल माइक्रो-इलेक्ट्रो-मैकेनिकल सेंसर (एमईएमएस) शामिल है। एक सिग्मा-डेल्टा आधारित
DIY स्मार्ट रोबोट ट्रैकिंग कार किट ट्रैकिंग कार सहज: 7 कदम
DIY स्मार्ट रोबोट ट्रैकिंग कार किट ट्रैकिंग कार फोटोसेंसिटिव: SINONING ROBOT द्वारा डिज़ाइन आप ट्रैकिंग रोबोट कार से खरीद सकते हैं। स्पिन करें, ताकि
Arduino का उपयोग करके इंटरनेट का उपयोग करके पूरी दुनिया में नियंत्रण का नेतृत्व किया: 4 कदम
Arduino का उपयोग करके इंटरनेट का उपयोग करके पूरी दुनिया में नियंत्रण का नेतृत्व किया: नमस्ते, मैं ऋतिक हूं। हम आपके फ़ोन का उपयोग करके एक इंटरनेट नियंत्रित एलईडी बनाने जा रहे हैं। हम Arduino IDE और Blynk जैसे सॉफ़्टवेयर का उपयोग करने जा रहे हैं। यह सरल है और यदि आप सफल होते हैं तो आप जितने चाहें उतने इलेक्ट्रॉनिक घटकों को नियंत्रित कर सकते हैं जो हमें चाहिए: हार्डवेयर:
Arduino UNO का उपयोग करके ड्रोन कैसे बनाएं - माइक्रोकंट्रोलर का उपयोग करके क्वाडकॉप्टर बनाएं: 8 कदम (चित्रों के साथ)
Arduino UNO का उपयोग करके ड्रोन कैसे बनाएं | माइक्रोकंट्रोलर का उपयोग करके क्वाडकॉप्टर बनाएं: परिचय मेरे यूट्यूब चैनल पर जाएंएक ड्रोन खरीदने के लिए एक बहुत महंगा गैजेट (उत्पाद) है। इस पोस्ट में मैं चर्चा करने जा रहा हूँ कि मैं इसे सस्ते में कैसे बना सकता हूँ ?? और आप इसे सस्ते दाम पर कैसे बना सकते हैं … वैसे भारत में सभी सामग्री (मोटर, ईएससी
इन्फ्रारेड सेंसर का उपयोग करके आई मोशन ट्रैकिंग: 5 कदम
इन्फ्रारेड सेंसर का उपयोग करके आई मोशन ट्रैकिंग: मैंने आंखों की गतिविधियों को समझने और एलईडी को नियंत्रित करने के लिए एक इन्फ्रारेड सेंसर का उपयोग किया। मैंने एलईडी टेप के साथ नेत्रगोलक बनाया NeoPixel