I-ARDUINO-lgoo

I-ARDUINO GY87 I-Combined Sensor Test Sketch

I-ARDUINO-GY87-Combined-Sensor-Test-Sketch-product

Isingeniso

Uma ungumenzi oshisekayo noma umthandi wamarobhothi, uhlangabezane nale mojula encane kodwa enamandla. Uma ungumenzi oshisekayo noma umshisekeli wamarobhothi, uhlangabezane nale mojuli encane kodwa enamandla ye-BMP085 barometer. Imojuli ye-GY-87 IMU iyindlela enhle yokwengeza inzwa yokunyakaza kumaphrojekthi akho, njengerobhothi elizilinganiselayo noma i-quadcopter.
Kodwa ngaphambi kokuthi uqale ukuhlola imojula ye-GY-87 IMU, udinga ukwazi ukuthi ungayixhumanisa kanjani nebhodi lakho le-Arduino. Yilapho le bhulogi ingena khona! Ezigabeni ezilandelayo, sizofaka izisekelo zemojuli ye-GY-87 IMU, ukuthi isetha kanjani, kanye nendlela yokubhala ikhodi ye-Arduino ukuze ufunde idatha yenzwa. Futhi sizohlinzeka ngamathiphu nezisetshenziswa zokuxazulula izinkinga ezivamile.
Ngakho-ke, uma usukulungele ukuqalisa, ake sicwilise futhi sifunde mayelana nokuxhumanisa imojuli ye-GY-87 IMU ne-Arduino!

Iyini i-GY-87 IMU MPU6050

Amamojula weyunithi yokulinganisa engenzi lutho (IMU) njenge-GY-87 ahlanganisa izinzwa eziningi zibe iphakethe elilodwa, njenge-MPU6050 accelerometer/gyroscope, i-HMC5883L magnetometer, kanye nenzwa ye-BMP085 barometric pressure. Ngakho-ke, i-GY-87 IMU MPU6050 iyimojula yokulandelela ukunyakaza kwe-axis engu-9-in-one ehlanganisa i-gyroscope engu-3-axis, i-3-axis accelerometer, i-3-axis magnetometer, kanye nephrosesa yokunyakaza yedijithali. Isetshenziswa kakhulu kumaphrojekthi erobhothi, njengama-quadcopter nezinye izimoto zasemoyeni ezinganamuntu (ama-UAV), ngoba ingakwazi ukukala ngokunembile futhi ilandelele umumo nokunyakaza. Iphinde isetshenziswe kwezinye izinhlelo zokusebenza, njengokuzulazula, amageyimu, kanye nento engekho ngokoqobo.

Izingxenye ze-Hardware

Uzodinga izingxenyekazi zekhompuyutha ezilandelayo ze-Interfacing GY-87 IMU MPU6050 HMC5883L BMP085 Module nge-Arduino.

Izingxenye Inani Qty
I-Arduino UNO 1
MPU6050 Imojuli yenzwa I-GY-87 1
Ibhodi lesinkwa 1
Izintambo ze-Jumper 1

I-GY-87 ne-Arduino 

Manje njengoba usuyiqondile i-GY-87, sekuyisikhathi sokusebenzisana ne-Arduino. Ukwenza lokho, landela Manje njengoba usuyiqondile i-GY-87, sekuyisikhathi sokusebenzisana ne-Arduino. Ukuze wenze lokho, landela

Okuhlelekile

Yenza ukuxhumana ngokomdwebo wesifunda onikezwe ngezansi

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoI-ARDUINO-GY87-Combined-Sensor-Test-Sketch-fig 1Izintambo / Izixhumanisi

I-Arduino Inzwa ye-MPU6050
5V VCC
GND GND
A4 I-SDA
A5 I-SCA

Ifaka i-Arduino IDE 

Okokuqala, udinga ukufaka i-Arduino IDE Software kusuka esisemthethweni sayo webindawo ye-Arduino. Nansi inkomba elula yesinyathelo ngesinyathelo ethi “Ungayifaka kanjani i-Arduino IDE.”

Ifaka Amalabhulali 

Ngaphambi kokuthi uqale ukulayisha ikhodi, landa futhi uvule imitapo yolwazi elandelayo ku-/Program Files (x86)/Arduino/Libraries (okuzenzakalelayo) ukuze usebenzise inzwa nebhodi le-Arduino. Nansi inkomba elula yesinyathelo ngesinyathelo kokuthi “Ungawengeza Kanjani Amalabhulali ku-Arduino IDE.”

  • MPU6050
  • Adafruit_BMP085
  • I-HMC5883L_Elula

Ikhodi 

Manje kopisha ikhodi elandelayo bese uyilayisha ku-Arduino IDE Software.

#faka phakathi i-“I2Cdev.h” #include “MPU6050.h” #include #faka MPU085 accelgyro; Adafruit_BMP5883 bmp; I-HMC6050L_Ikhampasi Elula; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = amanga; i-void setup() {Serial.begin(16); Intambo.qala(); // qalisa amadivayisi Serial.println(“Iqalisa amadivayisi e-I13C…”); // qala i-bmp9600 uma (!bmp.begin()) { Serial.println(“Ayikwazanga ukuthola inzwa ye-BMP2 evumelekile, hlola (!bmp.begin()) { Serial.println(“Ayikwazanga ukuthola inzwa ye-BMP085 evumelekile, hlola i-Serial.println(accelgyro.testConnection() ? “Uxhumo lwe-MPU085 luphumelele” : “Uxhumo lwe-MPU085 luhlulekile”); accelgyro.setI6050CBypassEnabled(iqiniso); // setha imodi yokudlula yesango lokuya ku-hmc6050L // qalisa i-hmc2lCompass(5883. 5883, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
I-Compass.SetScale(COMPASS_SCALE_130);
I-Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // lungiselela i-Arduino LED ukuze uhlole i-pinMode yomsebenzi(LED_PIN, OUTPUT); } iluphu engenalutho() {
I-serial.print(“Izinga lokushisa = “); I-serial.print(bmp.readTemperature());
I-serial.println(” *C”); I-serial.print(“Ingcindezi = “);
I-serial.print(bmp.readPressure()); Serial.println(”Pa”); // Bala ukuphakama ngokuthatha 'okujwayelekile' kwebarometric // ingcindezi engu-1013.25 millibar = 101325 Pascal Serial.print(“Altitude = “); I-serial.print(bmp.readAltitude()); I-serial.println(“amamitha”); I-serial.print(“Ingcindezi isezingeni eliphezulu (kubaliwe) = “);
I-serial.print(bmp.readSealevelPressure()); Serial.println(”Pa”);
I-serial.print(“Ukuphakama kwangempela = “); I-serial.print(bmp.readAltitude(101500));
Serial.println(”amamitha”); // funda izilinganiso ze-accel/gyro ezingavuthiwe kusuka kudivayisi ethi accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // bonisa amanani ahlukaniswe ithebhu accel/gyro x/y/z Serial.print(“a/g:\t”); I-serial.print(izembe);
I-serial.print(“\t”); I-serial.print(ay); I-serial.print(“\t”); I-serial.print(az);
I-serial.print(“\t”); I-serial.print(gx); I-serial.print(“\t”); I-serial.print(gy);
I-serial.print(“\t”); I-serial.println(gz); isihloko sokuntanta =
Compass.GetHeadingDegrees(); I-serial.print(“Isihloko: \t”); I-serial.println(isihloko); // blink LED ukukhombisa umsebenzi blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState); ukubambezeleka (500); }

Asiyihlole 

Uma usulayishe ikhodi, sekuyisikhathi sokuhlola isifunda! Ikhodi kuhlelo lwe-Arduino ihlangana nezinzwa ezisebenzisa imitapo yazo yolwazi, eyivumela ukuthi ifunde idatha yezinzwa futhi isethe ukucushwa okuhlukahlukene kwezinzwa. Bese iphrinta idatha yenzwa phezu kwembobo ye-serial. I-LED isetshenziselwa ukukhombisa ukuthi isekethe yenza okuthile. Lokhu kusho ukuthi i-LED iyacwayiza ngaso sonke isikhathi uma umsebenzi we-loop usebenza, okubonisa ukuthi ikhodi ifunda ngokuqhubekayo amanani enzwa.

Incazelo Esebenzayo 

Ikhodi yinto eyinhloko lapho ukusebenza kwesekethe kusekelwe khona. Ngakho-ke, ake siqonde ikhodi:.

  • Okokuqala, kufaka phakathi imitapo yolwazi eminingi ukuze ixhumane nezinzwa:
  • I-“I2Cdev.h” kanye ne-“MPU6050.h” ingamitapo yolwazi yenzwa ye-MPU6050 6-axis accelerometer/gyroscope
  • I-“Adafruit_BMP085.h” iwumtapo wolwazi wenzwa yokucindezela kwebharomethrikhi ye-BMP085.
  • I-“HMC5883L_Simple.h” iyilabhulali yenzwa ye-magnetometer ye-HMC5883L.
  • Bese idala izinto zomhlaba jikelele zezinzwa ezintathu: MPU6050 accelgyro, Adafruit_BMP085 bmp, kanye ne-HMC5883L_Simple Compass.
  • Okulandelayo, ichaza ezinye izinto eziguquguqukayo zokugcina amanani enzwa, njenge-ax, ay, ne-az ye-accelerometer ye-MPU6050 kanye nokubhekisa amabombo kumagnetometer ye-HMC5883L. Futhi ichaza i-LED_PIN engaguquki kanye nokuhluka kwe-blinkState.
  • Umsebenzi wokusetha () uqala ukuxhumana kwe-serial futhi uqala ukuxhumana kwe-I2C. Bese iqalisa izinzwa ezintathu:
  • Inzwa ye-BMP085 iqalwa ngokubiza indlela yokuqalisa(). Uma lokhu kubuyisela kungamanga, okubonisa ukuthi inzwa ayitholakalanga, uhlelo lungena ku-loop engapheli bese luphrinta umlayezo wephutha phezu kwembobo ye-serial.
  • Inzwa ye-MPU6050 iqalwa ngokushayela indlela yokuqalisa() nokuhlola ukuthi ingabe isebenza kahle yini. Futhi isetha i-I2C bypass inikwe amandla i-MPU6050.
  • Inzwa ye-HMC5883L iqalwa ngokubiza imisebenzi ethile, njenge-SetDeclination, SetS.ampI-lingMode, i-SetScale, ne-SetOrientation, yokusetha izilungiselelo ezihlukene zenzwa.
  • Kumsebenzi we-loop(), ikhodi ifunda idatha kusuka kuzinzwa ezintathu bese iyiphrinta phezu kwembobo ye-serial:
  • Ifunda izinga lokushisa, ingcindezi, ukuphakama, nokucindezela ezingeni lolwandle ukusuka kunzwa.
  • Ifunda ukusheshisa okuluhlaza kanye nezilinganiso ze-gyroscope kusuka kunzwa ye-MPU6050.
  • Ifunda isihloko esivela kunzwa ye-HMC5883L, okuyi-engeli ephakathi kwendawo lapho inzwa ikhomba khona kanye nalapho kulele khona inyakatho kazibuthe.
  • Ekugcineni, icwayiza i-LED ukukhombisa umsebenzi bese ilinda isikhashana ngaphambi kokuphinda ifunde izinzwa.

Amadokhumenti / Izinsiza

I-ARDUINO GY87 I-Combined Sensor Test Sketch [pdf] Imaniwali yosebenzisayo
I-GY87 Combined Sensor Test Sketch, GY87, Comined Sensor Test Sketch, Sensor Test Sketch, Test Sketch

Izithenjwa

Shiya amazwana

Ikheli lakho le-imeyili ngeke lishicilelwe. Izinkambu ezidingekayo zimakiwe *