ARDUINO-lgoo

ARDUINO GY87 संयुक्त सेंसर परीक्षण स्केच

ARDUINO-GY87-संयुक्त-सेंसर-टेस्ट-स्केच-उत्पाद

परिचय

यदि आप एक उत्साही निर्माता या रोबोटिक्स के शौकीन हैं, तो आप इस छोटे लेकिन शक्तिशाली मॉड्यूल BMP085 बैरोमीटर के बारे में जान चुके हैं। GY-87 IMU मॉड्यूल आपके प्रोजेक्ट में मोशन सेंसिंग जोड़ने का एक शानदार तरीका है, जैसे कि सेल्फ-बैलेंसिंग रोबोट या क्वाडकॉप्टर।
लेकिन इससे पहले कि आप GY-87 IMU मॉड्यूल के साथ प्रयोग करना शुरू करें, आपको यह जानना होगा कि इसे अपने Arduino बोर्ड के साथ कैसे जोड़ा जाए। यहीं पर यह ब्लॉग काम आता है! निम्नलिखित पैराग्राफ में, हम GY-87 IMU मॉड्यूल की मूल बातें, इसे कैसे सेट अप करें, और सेंसर डेटा को पढ़ने के लिए Arduino कोड कैसे लिखें, इस पर चर्चा करेंगे। हम सामान्य समस्याओं के निवारण के लिए कुछ सुझाव और संसाधन भी प्रदान करेंगे।
तो, यदि आप शुरू करने के लिए तैयार हैं, तो आइए शुरू करें और Arduino के साथ GY-87 IMU मॉड्यूल को इंटरफेस करने के बारे में जानें!

GY-87 IMU MPU6050 क्या है?

GY-87 जैसे जड़त्वीय माप इकाई (IMU) मॉड्यूल कई सेंसर को एक ही पैकेज में जोड़ते हैं, जैसे कि MPU6050 एक्सेलेरोमीटर/जाइरोस्कोप, HMC5883L मैग्नेटोमीटर और BMP085 बैरोमेट्रिक प्रेशर सेंसर। इसलिए, GY-87 IMU MPU6050 एक ऑल-इन-वन 9-एक्सिस मोशन ट्रैकिंग मॉड्यूल है जो 3-एक्सिस जाइरोस्कोप, 3-एक्सिस एक्सेलेरोमीटर, 3-एक्सिस मैग्नेटोमीटर और एक डिजिटल मोशन प्रोसेसर को जोड़ता है। इसका उपयोग रोबोटिक परियोजनाओं में बहुत अधिक किया जाता है, जैसे कि क्वाडकॉप्टर और अन्य मानव रहित हवाई वाहन (UAV), क्योंकि यह अभिविन्यास और गति को सटीक रूप से माप और ट्रैक कर सकता है। इसका उपयोग नेविगेशन, गेमिंग और वर्चुअल रियलिटी जैसे अन्य अनुप्रयोगों में भी किया जाता है।

हार्डवेयर घटक

आपको GY-87 IMU MPU6050 HMC5883L BMP085 मॉड्यूल को Arduino के साथ इंटरफेस करने के लिए निम्नलिखित हार्डवेयर की आवश्यकता होगी।

अवयव कीमत मात्रा
आर्डुइनो यूएनओ 1
MPU6050 सेंसर मॉड्यूल जीवाई-87 1
ब्रेडबोर्ड 1
जम्पर तार 1

GY-87 Arduino के साथ 

अब जब आप GY-87 को समझ गए हैं, तो Arduino के साथ इंटरफेस करने का समय आ गया है। ऐसा करने के लिए, अनुसरण करें अब जब आप GY-87 को समझ गए हैं, तो Arduino के साथ इंटरफेस करने का समय आ गया है। ऐसा करने के लिए, अनुसरण करें

ढांच के रूप में

नीचे दिए गए सर्किट आरेख के अनुसार कनेक्शन बनाएं

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-संयुक्त-सेंसर-टेस्ट-स्केच-अंजीर 1वायरिंग / कनेक्शन

आर्डुइनो एमपीयू6050 सेंसर
5V वीसीसी
जीएनडी जीएनडी
A4 एसडीए
A5 एससीए

Arduino IDE स्थापित करना 

सबसे पहले, आपको Arduino IDE सॉफ़्टवेयर को इसके आधिकारिक से इंस्टॉल करना होगा webसाइट Arduino. यहाँ "Arduino IDE कैसे स्थापित करें" पर एक सरल चरण-दर-चरण मार्गदर्शिका है।

लाइब्रेरीज़ स्थापित करना 

कोड अपलोड करना शुरू करने से पहले, /Program पर निम्नलिखित लाइब्रेरीज़ को डाउनलोड करें और अनज़िप करें Files (x86)/Arduino/Libraries (डिफ़ॉल्ट) का उपयोग करके Arduino बोर्ड के साथ सेंसर का उपयोग करें। यहाँ “Arduino IDE में लाइब्रेरी कैसे जोड़ें” पर एक सरल चरण-दर-चरण मार्गदर्शिका दी गई है।

  • MPU6050
  • एडाफ्रूट_BMP085
  • HMC5883L_सरल

कोड 

अब निम्नलिखित कोड को कॉपी करें और इसे Arduino IDE सॉफ्टवेयर पर अपलोड करें।

#शामिल करें “I2Cdev.h” #शामिल करें “MPU6050.h” #शामिल करें #शामिल करना MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Simple Compass; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = false; void setup() { Serial.begin(16); Wire.begin(); // डिवाइस आरंभ करें Serial.println(“I13C डिवाइस आरंभ कर रहा है…”); // bmp9600 को इनिशियलाइज़ करें यदि (!bmp.begin()) { Serial.println(“एक वैध BMP2 सेंसर नहीं मिल सका, जाँच करें (!bmp.begin()) { Serial.println(“एक वैध BMP085 सेंसर नहीं मिल सका, जाँच करें Serial.println(accelgyro.testConnection() ? “MPU085 कनेक्शन सफल” : “MPU085 कनेक्शन विफल”); accelgyro.setI6050CBypassEnabled(true); // hmc6050L के लिए गेटवे के लिए बाईपास मोड सेट करें // hmc2l को इनिशियलाइज़ करें Compass.SetDeclination(5883, 5883, 'E'); Compass.SetSampलिंगमोड(COMPASS_SINGLE);
कम्पास.सेटस्केल(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // गतिविधि की जाँच के लिए Arduino LED को कॉन्फ़िगर करें pinMode(LED_PIN, OUTPUT); } void loop() {
Serial.print(“तापमान ="); Serial.print(bmp.readTemperature());
Serial.println(" *C"); Serial.print("दबाव = ");
Serial.print(bmp.readPressure()); Serial.println(” Pa”); // 'मानक' बैरोमीटर मानकर ऊंचाई की गणना करें // 1013.25 मिलीबार का दबाव = 101325 पास्कल Serial.print(“ऊंचाई = “); Serial.print(bmp.readAltitude()); Serial.println(“मीटर”); Serial.print(“समुद्र तल पर दबाव (गणना) = “);
सीरियल.प्रिंट(bmp.readSealevelPressure()); सीरियल.प्रिंटln("पा");
Serial.print(“वास्तविक ऊंचाई = “); Serial.print(bmp.readAltitude(101500));
Serial.println(” मीटर”); // डिवाइस से कच्चे एक्सेल/जाइरो माप को पढ़ें accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // टैब से अलग किए गए एक्सेल/जाइरो x/y/z मान प्रदर्शित करें Serial.print(“a/g:\t”); Serial.print(ax);
सीरियल.प्रिंट(“\t”); सीरियल.प्रिंट(ay); सीरियल.प्रिंट(“\t”); सीरियल.प्रिंट(az);
सीरियल.प्रिंट(“\t”); सीरियल.प्रिंट(gx); सीरियल.प्रिंट(“\t”); सीरियल.प्रिंट(gy);
Serial.print(“\t”); Serial.println(gz); फ्लोट हेडिंग =
Compass.GetHeadingDegrees(); Serial.print(“Heading: \t”); Serial.println( heading ); // गतिविधि को इंगित करने के लिए ब्लिंक एलईडी blinkState = !blinkState;
डिजिटलवाइट(LED_PIN, ब्लिंकस्टेट); देरी(500); }

आइये इसका परीक्षण करें 

एक बार जब आप कोड अपलोड कर देते हैं, तो सर्किट का परीक्षण करने का समय आ जाता है! Arduino प्रोग्राम में कोड, सेंसर के साथ उनकी लाइब्रेरी का उपयोग करके इंटरफेस करता है, जो इसे सेंसर डेटा पढ़ने और सेंसर के विभिन्न कॉन्फ़िगरेशन सेट करने की अनुमति देता है। फिर यह सीरियल पोर्ट पर सेंसर डेटा प्रिंट करता है। एलईडी का उपयोग यह दिखाने के लिए किया जाता है कि सर्किट कुछ कर रहा है। इसका मतलब है कि लूप फ़ंक्शन चलाने पर हर बार एलईडी झपकाता है, यह दर्शाता है कि कोड सक्रिय रूप से सेंसर मान पढ़ रहा है।

कार्य स्पष्टीकरण 

कोड ही वह मुख्य चीज है जिस पर सर्किट का काम आधारित होता है। तो, आइए कोड को समझते हैं:.

  • सबसे पहले, इसमें सेंसरों के साथ इंटरफेस करने के लिए कई लाइब्रेरीज़ शामिल हैं:
  • “I2Cdev.h” और “MPU6050.h” MPU6050 6-अक्ष एक्सेलेरोमीटर/जाइरोस्कोप सेंसर के लिए लाइब्रेरी हैं
  • “Adafruit_BMP085.h” BMP085 बैरोमेट्रिक प्रेशर सेंसर के लिए एक लाइब्रेरी है।
  • “HMC5883L_Simple.h” HMC5883L मैग्नेटोमीटर सेंसर के लिए एक लाइब्रेरी है।
  • इसके बाद यह तीन सेंसरों के लिए वैश्विक ऑब्जेक्ट बनाता है: MPU6050 एक्सेलगाइरो, Adafruit_BMP085 bmp, और HMC5883L_Simple Compass.
  • इसके बाद, यह सेंसर मानों को संग्रहीत करने के लिए कुछ चर परिभाषित करता है, जैसे कि MPU6050 के एक्सेलेरोमीटर के लिए ax, ay, और az तथा HMC5883L के मैग्नेटोमीटर के लिए हेड। और यह एक LED_PIN स्थिरांक और एक blinkState चर परिभाषित करता है।
  • सेटअप() फ़ंक्शन एक सीरियल संचार शुरू करता है और I2C संचार शुरू करता है। फिर यह तीन सेंसर को आरंभ करता है:
  • BMP085 सेंसर को begin() विधि को कॉल करके आरंभीकृत किया जाता है। यदि यह गलत रिटर्न देता है, जो यह दर्शाता है कि सेंसर नहीं मिल सका, तो प्रोग्राम एक अनंत लूप में प्रवेश करता है और सीरियल पोर्ट पर एक त्रुटि संदेश प्रिंट करता है।
  • MPU6050 सेंसर को initialize() विधि को कॉल करके आरंभीकृत किया जाता है और जाँच की जाती है कि यह सही ढंग से काम कर रहा है या नहीं। और इसने MPU2 के लिए I6050C बाईपास को सक्षम किया।
  • HMC5883L सेंसर को कुछ फ़ंक्शन जैसे SetDeclination, SetS को कॉल करके आरंभ किया जाता हैampसेंसर के लिए अलग-अलग कॉन्फ़िगरेशन सेट करने के लिए lingMode, SetScale, और SetOrientation.
  • loop() फ़ंक्शन में, कोड तीन सेंसरों से डेटा पढ़ता है और उसे सीरियल पोर्ट पर प्रिंट करता है:
  • यह सेंसर से तापमान, दबाव, ऊंचाई और समुद्र तल पर दबाव को पढ़ता है।
  • यह MPU6050 सेंसर से कच्चे त्वरण और जाइरोस्कोप माप को पढ़ता है।
  • यह HMC5883L सेंसर से हेडिंग पढ़ता है, जो उस दिशा के बीच का कोण है जिस ओर सेंसर इंगित कर रहा है और वह दिशा जिसमें चुंबकीय उत्तर स्थित है।
  • अंत में, यह गतिविधि को इंगित करने के लिए एलईडी को झपकाता है और सेंसर को दोबारा पढ़ने से पहले कुछ क्षण प्रतीक्षा करता है।

दस्तावेज़ / संसाधन

ARDUINO GY87 संयुक्त सेंसर परीक्षण स्केच [पीडीएफ] उपयोगकर्ता पुस्तिका
GY87 संयुक्त सेंसर परीक्षण स्केच, GY87, संयुक्त सेंसर परीक्षण स्केच, सेंसर परीक्षण स्केच, परीक्षण स्केच

संदर्भ

एक टिप्पणी छोड़ें

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड चिह्नित हैं *