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-अक्ष मॅग्नेटोमीटर आणि डिजिटल मोशन प्रोसेसर एकत्र करते. हे क्वाडकॉप्टर्स आणि इतर मानवरहित हवाई वाहने (UAVs) सारख्या रोबोटिक प्रकल्पांमध्ये खूप वापरले जाते, कारण ते अचूकपणे दिशानिर्देश आणि गती मोजू शकते आणि ट्रॅक करू शकते. हे नेव्हिगेशन, गेमिंग आणि आभासी वास्तव यासारख्या इतर अनुप्रयोगांमध्ये देखील वापरले जाते.

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

तुम्हाला Arduino सह GY-87 IMU MPU6050 HMC5883L BMP085 मॉड्यूल इंटरफेस करण्यासाठी खालील हार्डवेअरची आवश्यकता असेल.

घटक मूल्य प्रमाण
Arduino UNO 1
एमपीयू 6050 सेन्सर मॉड्यूल जीवाय -87 1
ब्रेडबोर्ड 1
जम्पर वायर्स 1

Arduino सह GY-87 

आता तुम्हाला GY-87 समजले आहे, Arduino सह इंटरफेस करण्याची वेळ आली आहे. ते करण्यासाठी, फॉलो करा आता तुम्हाला GY-87 समजले आहे, Arduino सह इंटरफेस करण्याची वेळ आली आहे. ते करण्यासाठी, अनुसरण करा

योजनाबद्ध

खाली दिलेल्या सर्किट डायग्रामनुसार कनेक्शन बनवा

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

अर्डिनो MPU6050 सेन्सर
5V VCC
GND GND
A4 SDA
A5 SCA

Arduino IDE स्थापित करत आहे 

प्रथम, तुम्हाला त्याच्या अधिकृतकडून Arduino IDE सॉफ्टवेअर स्थापित करणे आवश्यक आहे webसाइट Arduino. येथे "Arduino IDE कसे स्थापित करावे" वर एक साधे चरण-दर-चरण मार्गदर्शक आहे.

लायब्ररी स्थापित करणे 

तुम्ही कोड अपलोड करणे सुरू करण्यापूर्वी, खालील लायब्ररी डाउनलोड करा आणि अनझिप करा /प्रोग्राम Files (x86)/Arduino/Libraries (डिफॉल्ट) Arduino बोर्डसह सेन्सर वापरण्यासाठी. येथे "Arduino IDE मध्ये लायब्ररी कशी जोडायची" यावर एक साधे चरण-दर-चरण मार्गदर्शक आहे.

  • एमपीयू 6050
  • Adafruit_BMP085
  • HMC5883L_Simple

कोड 

आता खालील कोड कॉपी करा आणि Arduino IDE Software वर अपलोड करा.

#समाविष्ट करा “I2Cdev.h” #समाविष्ट करा “MPU6050.h” #समावेश #समाविष्ट करा MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Simple कंपास; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = false; शून्य सेटअप() { 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 Computer. 5883, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // क्रियाकलाप पिनमोड (LED_PIN, OUTPUT) तपासण्यासाठी Arduino LED कॉन्फिगर करा; } void loop() {
Serial.print("तापमान = "); Serial.print(bmp.readTemperature());
Serial.println(”*C”); Serial.print(“प्रेशर = “);
Serial.print(bmp.readPressure()); Serial.println("पा"); // 'मानक' बॅरोमेट्रिक // 1013.25 मिलीबारचा दाब गृहीत धरून उंचीची गणना करा = 101325 Pascal Serial.print(“उंची = “); Serial.print(bmp.readAltitude()); Serial.println(“मीटर”); Serial.print(“सील स्तरावरील दबाव (गणना केलेला) = “);
Serial.print(bmp.readSealevelPressure()); Serial.println("पा");
Serial.print(“वास्तविक उंची = “); Serial.print(bmp.readAltitude(101500));
Serial.println("मीटर"); // उपकरण accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz) वरून raw accel/gyro मोजमाप वाचा; // डिस्प्ले टॅब-विभक्त accel/gyro x/y/z मूल्ये Serial.print(“a/g:\t”); सिरीयल.प्रिंट(कुऱ्हाड);
Serial.print(“\t”); अनुक्रमांक.प्रिंट(ay); Serial.print(“\t”); Serial.print(az);
Serial.print(“\t”); Serial.print(gx); Serial.print(“\t”); Serial.print(gy);
Serial.print(“\t”); Serial.println(gz); फ्लोट हेडिंग =
Compass.GetHeadingDegrees(); Serial.print("शीर्षक: \t"); Serial.println( शीर्षक ); // blink LED क्रियाकलाप सूचित करण्यासाठी blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState); विलंब (500); }

याची चाचणी करूया 

एकदा तुम्ही कोड अपलोड केल्यानंतर, सर्किटची चाचणी घेण्याची वेळ आली आहे! Arduino प्रोग्राममधील कोड त्यांच्या लायब्ररीचा वापर करून सेन्सरशी संवाद साधतो, ज्यामुळे तो सेन्सर डेटा वाचू शकतो आणि सेन्सरची विविध कॉन्फिगरेशन सेट करू शकतो. मग ते सिरीयल पोर्टवर सेन्सर डेटा प्रिंट करते. सर्किट काहीतरी करत आहे हे दाखवण्यासाठी एलईडीचा वापर केला जातो. याचा अर्थ प्रत्येक वेळी लूप फंक्शन चालवताना LED ब्लिंक करते, कोड सक्रियपणे सेन्सर मूल्ये वाचत असल्याचे दर्शविते.

कामकाजाचे स्पष्टीकरण 

कोड ही प्रमुख गोष्ट आहे ज्यावर सर्किटचे कार्य आधारित आहे. तर, कोड समजून घेऊ:.

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

कागदपत्रे / संसाधने

ARDUINO GY87 एकत्रित सेन्सर चाचणी स्केच [pdf] वापरकर्ता मॅन्युअल
GY87 एकत्रित सेन्सर चाचणी स्केच, GY87, एकत्रित सेन्सर चाचणी स्केच, सेन्सर चाचणी स्केच, चाचणी स्केच

संदर्भ

एक टिप्पणी द्या

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित आहेत *