विषयसूची:
- चरण 1: हार्डवेयर की आवश्यकता:
- चरण 2: हार्डवेयर हुकअप:
- चरण 3: मोशन ट्रैकिंग के लिए कोड:
- चरण 4: अनुप्रयोग:
वीडियो: MPU-6000 और रास्पबेरी पाई का उपयोग करके मोशन ट्रैकिंग: 4 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
MPU-6000 एक 6-एक्सिस मोशन ट्रैकिंग सेंसर है जिसमें 3-एक्सिस एक्सेलेरोमीटर और 3-एक्सिस गायरोस्कोप एम्बेडेड है। यह सेंसर 3-आयामी विमान में किसी वस्तु की सटीक स्थिति और स्थान की कुशल ट्रैकिंग करने में सक्षम है। इसे उन प्रणालियों में नियोजित किया जा सकता है जिन्हें उच्चतम परिशुद्धता के लिए स्थिति विश्लेषण की आवश्यकता होती है।
इस ट्यूटोरियल में रास्पबेरी पाई के साथ MPU-6000 सेंसर मॉड्यूल की इंटरफेसिंग को चित्रित किया गया है। त्वरण और घूर्णी कोण के मूल्यों को पढ़ने के लिए, हमने I2c एडेप्टर के साथ रास्पबेरी पाई का उपयोग किया है। यह I2C एडेप्टर सेंसर मॉड्यूल से कनेक्शन को आसान और अधिक विश्वसनीय बनाता है।
चरण 1: हार्डवेयर की आवश्यकता:
अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:
1. एमपीयू-6000
2. रास्पबेरी पाई
3. I2C केबल
4. रास्पबेरी पाई के लिए I2C शील्ड
5. ईथरनेट केबल
चरण 2: हार्डवेयर हुकअप:
हार्डवेयर हुकअप सेक्शन मूल रूप से सेंसर और रास्पबेरी पाई के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:
MPU-6000 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।
आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं।
आपको बस चार तार चाहिए! केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।
इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।
चरण 3: मोशन ट्रैकिंग के लिए कोड:
रास्पबेरी पाई का उपयोग करने का लाभ यह है कि यह आपको उस प्रोग्रामिंग भाषा का लचीलापन प्रदान करता है जिसमें आप सेंसर को इंटरफेस करने के लिए बोर्ड को प्रोग्राम करना चाहते हैं। इस बोर्ड के इस लाभ का उपयोग करते हुए, हम यहां इसकी प्रोग्रामिंग को पायथन में प्रदर्शित कर रहे हैं। पायथन सबसे आसान सिंटैक्स वाली सबसे आसान प्रोग्रामिंग भाषाओं में से एक है। MPU-6000 के लिए पायथन कोड हमारे GitHub समुदाय से डाउनलोड किया जा सकता है जो कि Dcube Store है
साथ ही उपयोगकर्ताओं की आसानी के लिए, हम यहां कोड भी समझा रहे हैं:
कोडिंग के पहले चरण के रूप में, आपको अजगर के मामले में SMBus लाइब्रेरी डाउनलोड करने की आवश्यकता है क्योंकि यह लाइब्रेरी कोड में उपयोग किए जाने वाले कार्यों का समर्थन करती है। तो, पुस्तकालय डाउनलोड करने के लिए आप निम्न लिंक पर जा सकते हैं:
pypi.python.org/pypi/smbus-cffi/0.5.1
आप यहां से भी वर्किंग कोड कॉपी कर सकते हैं:
आयात smbus
आयात समय
# I2C बसबस प्राप्त करें = smbus. SMBus(1)
# एमपीयू-6000 पता, 0x68(104)
# जाइरोस्कोप कॉन्फ़िगरेशन रजिस्टर चुनें, 0x1B(27)
# 0x18(24) फुल स्केल रेंज = 2000 डीपीएस
बस.राइट_बाइट_डेटा (0x68, 0x1B, 0x18)
# एमपीयू-6000 पता, 0x68(104)
# एक्सेलेरोमीटर कॉन्फ़िगरेशन रजिस्टर चुनें, 0x1C(28)
# 0x18(24) पूर्ण पैमाने की सीमा = +/-16g
बस.राइट_बाइट_डेटा (0x68, 0x1C, 0x18)
# एमपीयू-6000 पता, 0x68(104)
# पावर मैनेजमेंट रजिस्टर 1, 0x6B (107) चुनें
# 0x01(01) पीएलएल xGyro संदर्भ के साथ
बस.राइट_बाइट_डेटा (0x68, 0x6B, 0x01)
समय सो जाओ (0.8)
# एमपीयू-6000 पता, 0x68(104)
# 0x3B (59), 6 बाइट्स से डेटा वापस पढ़ें
# एक्सेलेरोमीटर एक्स-एक्सिस एमएसबी, एक्स-एक्सिस एलएसबी, वाई-एक्सिस एमएसबी, वाई-एक्सिस एलएसबी, जेड-एक्सिस एमएसबी, जेड-एक्सिस एलएसबी
डेटा = बस.read_i2c_block_data(0x68, 0x3B, 6)
# डेटा कनवर्ट करें
xAccl = डेटा [0] * 256 + डेटा [1]
अगर xAccl > 32767:
xAccl -= ६५५३६
yAccl = डेटा [2] * 256 + डेटा [3]
अगर yAccl > 32767:
yAccl -= ६५५३६
zAccl = डेटा [४] * २५६ + डेटा [५]
अगर zAccl > 32767:
zAccl -= ६५५३६
# एमपीयू-6000 पता, 0x68(104)
# 0x43 (67), 6 बाइट्स से डेटा वापस पढ़ें
# जायरोमीटर एक्स-एक्सिस एमएसबी, एक्स-एक्सिस एलएसबी, वाई-एक्सिस एमएसबी, वाई-एक्सिस एलएसबी, जेड-एक्सिस एमएसबी, जेड-एक्सिस एलएसबी
डेटा = बस.read_i2c_block_data(0x68, 0x43, 6)
# डेटा कनवर्ट करें
xGyro = डेटा [0] * 256 + डेटा [1]
अगर xGyro > 32767:
xGyro -= ६५५३६
yGyro = डेटा [2] * 256 + डेटा [3]
अगर yGyro > 32767:
yGyro -= ६५५३६
zGyro = डेटा [४] * २५६ + डेटा [५]
अगर zGyro > 32767:
zGyro -= ६५५३६
# स्क्रीन पर आउटपुट डेटा
प्रिंट "एक्स-एक्सिस में त्वरण:% d"% xAccl
प्रिंट "Y-अक्ष में त्वरण: %d" %yAccl
प्रिंट "Z-अक्ष में त्वरण: %d" %zAccl
प्रिंट "एक्स-एक्सिस ऑफ़ रोटेशन: %d" %xGyro
प्रिंट "Y-एक्सिस ऑफ़ रोटेशन: %d" %yGyro
प्रिंट "Z-एक्सिस ऑफ़ रोटेशन: %d" %zGyro
कोड को निम्न कमांड का उपयोग करके निष्पादित किया जाता है:
$> अजगर MPU-6000.py जीटी; अजगर MPU-6000.py
उपयोगकर्ता के संदर्भ के लिए सेंसर का आउटपुट ऊपर चित्र में दिखाया गया है।
चरण 4: अनुप्रयोग:
MPU-6000 एक मोशन ट्रैकिंग सेंसर है, जो स्मार्टफोन और टैबलेट के मोशन इंटरफेस में अपना एप्लिकेशन ढूंढता है। स्मार्टफोन में इन सेंसरों को अनुप्रयोगों और फोन नियंत्रण, उन्नत गेमिंग, संवर्धित वास्तविकता, मनोरम फोटो कैप्चर और देखने, और पैदल यात्री और वाहन नेविगेशन के लिए जेस्चर कमांड जैसे अनुप्रयोगों में नियोजित किया जा सकता है। मोशनट्रैकिंग तकनीक हैंडसेट और टैबलेट को शक्तिशाली 3डी इंटेलिजेंट डिवाइसों में बदल सकती है जिनका उपयोग स्वास्थ्य और फिटनेस निगरानी से लेकर स्थान-आधारित सेवाओं तक के अनुप्रयोगों में किया जा सकता है।
सिफारिश की:
रास्पबेरी पाई के साथ एलईडी ब्लिंक - रास्पबेरी पाई पर GPIO पिन का उपयोग कैसे करें: 4 कदम
रास्पबेरी पाई के साथ एलईडी ब्लिंक | रास्पबेरी पाई पर GPIO पिन का उपयोग कैसे करें: हाय दोस्तों इस निर्देश में हम सीखेंगे कि रास्पबेरी पाई के GPIO का उपयोग कैसे करें। अगर आपने कभी Arduino का इस्तेमाल किया है तो शायद आप जानते हैं कि हम LED स्विच आदि को इसके पिन से जोड़ सकते हैं और इसे इस तरह काम कर सकते हैं। एलईडी ब्लिंक करें या स्विच से इनपुट प्राप्त करें ताकि
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना - रास्पबेरी पाई 3बी के साथ शुरुआत करना - अपना रास्पबेरी पाई सेट करना 3: 6 कदम
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना | रास्पबेरी पाई 3बी के साथ शुरुआत करना | अपना रास्पबेरी पाई 3 सेट करना: जैसा कि आप में से कुछ लोग जानते हैं कि रास्पबेरी पाई कंप्यूटर काफी शानदार हैं और आप पूरे कंप्यूटर को सिर्फ एक छोटे बोर्ड पर प्राप्त कर सकते हैं। रास्पबेरी पाई 3 मॉडल बी में क्वाड-कोर 64-बिट एआरएम कोर्टेक्स ए 53 है। 1.2 गीगाहर्ट्ज़ पर क्लॉक किया गया। यह पाई 3 को लगभग 50
पूल पाई गाय - रास्पबेरी पाई का उपयोग करके एआई संचालित अलार्म सिस्टम और पूल मॉनिटरिंग: 12 कदम (चित्रों के साथ)
पूल पाई गाय - रास्पबेरी पाई का उपयोग करके एआई संचालित अलार्म सिस्टम और पूल मॉनिटरिंग: घर पर पूल होना मजेदार है, लेकिन बड़ी जिम्मेदारी के साथ आता है। मेरी सबसे बड़ी चिंता यह निगरानी है कि क्या कोई पूल के पास है (विशेषकर छोटे बच्चे)। मेरी सबसे बड़ी झुंझलाहट यह सुनिश्चित कर रही है कि पूल की पानी की लाइन कभी भी पंप के प्रवेश द्वार से नीचे न जाए
इन्फ्रारेड सेंसर का उपयोग करके आई मोशन ट्रैकिंग: 5 कदम
इन्फ्रारेड सेंसर का उपयोग करके आई मोशन ट्रैकिंग: मैंने आंखों की गतिविधियों को समझने और एलईडी को नियंत्रित करने के लिए एक इन्फ्रारेड सेंसर का उपयोग किया। मैंने एलईडी टेप के साथ नेत्रगोलक बनाया NeoPixel
मॉनिटर या कीबोर्ड के बिना डाइट पाई का उपयोग करके रास्पबेरी पाई सेटअप करें: 24 कदम
मॉनिटर या कीबोर्ड के बिना डाइट पाई का उपयोग करके रास्पबेरी पाई सेटअप करें: यह निर्देश योग्य है। कृपया उपयोग करें: DietPi SetupNOOBS के लिए एक मॉनिटर, कीबोर्ड और माउस की आवश्यकता होती है, जो लागत में ~$60 (USD) या अधिक जोड़ता है। हालाँकि, एक बार वाई-फाई काम करने के बाद, इन उपकरणों की अब आवश्यकता नहीं है। शायद, डायटपी यूएसबी को सेवा का समर्थन करेगा