विषयसूची:
- चरण 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 शील्ड
चरण 2: हार्डवेयर हुकअप:
हार्डवेयर हुकअप अनुभाग मूल रूप से सेंसर और कण फोटॉन के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:
MPU-6000 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।
आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं। आपको बस चार तार चाहिए!
केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।
इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।
चरण 3: मोशन ट्रैकिंग के लिए कोड:
आइए अब कण कोड से शुरू करते हैं।
Arduino के साथ सेंसर मॉड्यूल का उपयोग करते समय, हम application.h और Spark_wiring_i2c.h लाइब्रेरी को शामिल करते हैं। "application.h" और Spark_wiring_i2c.h लाइब्रेरी में ऐसे कार्य हैं जो सेंसर और कण के बीच i2c संचार की सुविधा प्रदान करते हैं।
उपयोगकर्ता की सुविधा के लिए संपूर्ण कण कोड नीचे दिया गया है:
#शामिल करें शून्य सेटअप () {// चर सेट करें Particle.variable ("i2cdevice", "MPU-6000"); कण। चर ("xAccl", xAccl); Particle.variable("yAccl", yAccl); Particle.variable("zAccl", zAccl); Particle.variable("xGyro", xGyro); Particle.variable("yGyro", yGyro); Particle.variable("zGyro", zGyro); // I2C संचार को मास्टर वायर के रूप में प्रारंभ करें। शुरू करें (); // सीरियल कम्युनिकेशन शुरू करें, बॉड रेट सेट करें = 9600 Serial.begin (9600); // I2C ट्रांसमिशन शुरू करें Wire.beginTransmission (Addr); // जाइरोस्कोप कॉन्फ़िगरेशन रजिस्टर चुनें Wire.write(0x1B); // फुल स्केल रेंज = 2000 डीपीएस वायर.राइट (0x18); // I2C ट्रांसमिशन को रोकें Wire.endTransmission (); // I2C ट्रांसमिशन शुरू करें Wire.beginTransmission (Addr); // एक्सेलेरोमीटर कॉन्फ़िगरेशन रजिस्टर चुनें Wire.write(0x1C); // पूर्ण पैमाने की सीमा = +/- 16g Wire.write(0x18); // I2C ट्रांसमिशन को रोकें Wire.endTransmission (); // I2C ट्रांसमिशन शुरू करें Wire.beginTransmission (Addr); // बिजली प्रबंधन रजिस्टर चुनें Wire.write(0x6B); // पीएलएल xGyro संदर्भ के साथ Wire.write(0x01); // I2C ट्रांसमिशन को रोकें Wire.endTransmission (); देरी (300); } शून्य लूप () { अहस्ताक्षरित इंट डेटा [6]; // I2C ट्रांसमिशन शुरू करें Wire.beginTransmission (Addr); // डेटा रजिस्टर चुनें Wire.write(0x3B); // I2C ट्रांसमिशन को रोकें Wire.endTransmission (); // अनुरोध 6 बाइट्स डेटा Wire.requestFrom (Addr, 6); // 6 बाइट डेटा पढ़ें अगर (वायर.उपलब्ध () == 6) {डेटा [0] = वायर.रीड (); डेटा [1] = वायर.रीड (); डेटा [2] = वायर.रीड (); डेटा [3] = वायर.रीड (); डेटा [४] = वायर.रीड (); डेटा [5] = वायर.रीड (); } देरी (८००); // डेटा xAccl = ((डेटा [1] * 256) + डेटा [0]) में कनवर्ट करें; अगर (xAccl > ३२७६७) { xAccl -= ६५५३६; } yAccl = ((डेटा [3] * 256) + डेटा [2]); अगर (yAccl > ३२७६७) { yAccl -= ६५५३६; } zAccl = ((डेटा [5] * 256) + डेटा [4]); अगर (zAccl > ३२७६७) { zAccl -= ६५५३६; } देरी (८००); // I2C ट्रांसमिशन शुरू करें Wire.beginTransmission (Addr); // डेटा रजिस्टर चुनें Wire.write(0x43); // I2C ट्रांसमिशन को रोकें Wire.endTransmission (); // अनुरोध 6 बाइट्स डेटा Wire.requestFrom (Addr, 6); // 6 बाइट डेटा पढ़ें अगर (वायर.उपलब्ध () == 6) {डेटा [0] = वायर.रीड (); डेटा [1] = वायर.रीड (); डेटा [2] = वायर.रीड (); डेटा [3] = वायर.रीड (); डेटा [४] = वायर.रीड (); डेटा [5] = वायर.रीड (); } // डेटा कन्वर्ट करें xGyro = ((डेटा [1] * 256) + डेटा [0]); अगर (xGyro > ३२७६७) { xGyro -= ६५५३६; } yGyro = ((डेटा [3] * 256) + डेटा [2]); अगर (yGyro > ३२७६७) { yGyro -= ६५५३६; } zGyro = ((डेटा [5] * 256) + डेटा [4]); अगर (zGyro > ३२७६७) {zGyro -= ६५५३६; } // डैशबोर्ड पर आउटपुट डेटा Particle.publish ("एक्स-एक्सिस में त्वरण:", स्ट्रिंग (xAccl)); देरी (1000); Particle.publish ("वाई-एक्सिस में त्वरण:", स्ट्रिंग (yAccl)); देरी (1000); Particle.publish ("जेड-एक्सिस में त्वरण:", स्ट्रिंग (zAccl)); देरी (1000); Particle.publish ("एक्स-एक्सिस ऑफ़ रोटेशन:", स्ट्रिंग (xGyro)); देरी (1000); Particle.publish ("वाई-एक्सिस ऑफ़ रोटेशन:", स्ट्रिंग (yGyro)); देरी (1000); Particle.publish("Z-Axis of Rotation:", String(zGyro)); देरी (1000); }
Particle.variable() फ़ंक्शन सेंसर के आउटपुट को स्टोर करने के लिए वेरिएबल बनाता है और Particle.publish() फ़ंक्शन साइट के डैशबोर्ड पर आउटपुट प्रदर्शित करता है।
सेंसर आउटपुट आपके संदर्भ के लिए ऊपर चित्र में दिखाया गया है।
चरण 4: अनुप्रयोग:
MPU-6000 एक मोशन ट्रैकिंग सेंसर है, जो स्मार्टफोन और टैबलेट के मोशन इंटरफेस में अपना एप्लिकेशन ढूंढता है। स्मार्टफोन में इन सेंसरों को अनुप्रयोगों और फोन नियंत्रण, उन्नत गेमिंग, संवर्धित वास्तविकता, मनोरम फोटो कैप्चर और देखने, और पैदल यात्री और वाहन नेविगेशन के लिए जेस्चर कमांड जैसे अनुप्रयोगों में नियोजित किया जा सकता है। मोशनट्रैकिंग तकनीक हैंडसेट और टैबलेट को शक्तिशाली 3डी इंटेलिजेंट डिवाइसों में बदल सकती है जिनका उपयोग स्वास्थ्य और फिटनेस निगरानी से लेकर स्थान-आधारित सेवाओं तक के अनुप्रयोगों में किया जा सकता है।
सिफारिश की:
BME280 और फोटॉन इंटरफेसिंग का उपयोग करके आर्द्रता, दबाव और तापमान की गणना: 6 कदम
BME280 और फोटॉन इंटरफेसिंग का उपयोग करके आर्द्रता, दबाव और तापमान की गणना: हम विभिन्न परियोजनाओं में आते हैं जिनके लिए तापमान, दबाव और आर्द्रता की निगरानी की आवश्यकता होती है। इस प्रकार हम महसूस करते हैं कि ये पैरामीटर वास्तव में विभिन्न वायुमंडलीय परिस्थितियों में एक प्रणाली की कार्यकुशलता का अनुमान लगाने में महत्वपूर्ण भूमिका निभाते हैं
रास्पबेरी पाई और पार्टिकल आर्गन का उपयोग करके स्मार्ट फ्लड डिटेक्शन अलार्म सिस्टम कैसे बनाएं: 6 कदम
रास्पबेरी पाई और पार्टिकल आर्गन का उपयोग करके स्मार्ट फ्लड डिटेक्शन अलार्म सिस्टम कैसे बनाएं: आपके घर या कार्यस्थल को बड़े पैमाने पर नुकसान को रोकने के लिए मानक बाढ़ सेंसर होना बहुत अच्छा है। लेकिन अगर आप अलार्म में शामिल होने के लिए घर नहीं हैं तो यह कठिन हो जाता है। बेशक आप उन स्मार्ट को खरीद सकते हैं यह बाढ़ अलार्म सिस्टम किसी भी तरल का पता लगाता है और अलार्म को ट्रिगर करता है
MCP9803 और कण फोटॉन का उपयोग करके तापमान मापन: 4 कदम
MCP9803 और कण फोटॉन का उपयोग कर तापमान मापन: MCP9803 एक 2-तार उच्च सटीकता तापमान सेंसर है। वे उपयोगकर्ता-प्रोग्राम करने योग्य रजिस्टरों के साथ सन्निहित हैं जो तापमान संवेदन अनुप्रयोगों की सुविधा प्रदान करते हैं। यह सेंसर अत्यधिक परिष्कृत बहु-क्षेत्र तापमान निगरानी प्रणाली के लिए उपयुक्त है।
इन्फ्रारेड सेंसर का उपयोग करके आई मोशन ट्रैकिंग: 5 कदम
इन्फ्रारेड सेंसर का उपयोग करके आई मोशन ट्रैकिंग: मैंने आंखों की गतिविधियों को समझने और एलईडी को नियंत्रित करने के लिए एक इन्फ्रारेड सेंसर का उपयोग किया। मैंने एलईडी टेप के साथ नेत्रगोलक बनाया NeoPixel
फॉग सेंसर - पार्टिकल फोटॉन - डेटा ऑनलाइन सेव करें: 5 कदम (चित्रों के साथ)
फॉग सेंसर - पार्टिकल फोटॉन - डेटा ऑनलाइन सेव करें: हवा में कोहरे या धुएं की मात्रा को मापने के लिए हमने यह फॉग सेंसर बनाया है। यह एलडीआर को लेजर से प्राप्त होने वाले प्रकाश की मात्रा को मापता है, और इसकी तुलना आसपास के प्रकाश की मात्रा से करता है। यह IFTTT के माध्यम से डेटा को Google शीट रीयलटाइम पर पोस्ट करता है