I-ARDUINO-lgoo

I-ARDUINO GY87 edibeneyo yoVavanyo lwe-Sensor Sketch

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

Intshayelelo

Ukuba ungumenzi okhutheleyo okanye othanda iirobhothi, udibene nale modyuli incinci kodwa inamandla Ukuba ungumenzi okhutheleyo okanye othanda iirobhothi, udibene nale modyuli incinci kodwa inamandla ye-BMP085 barometer. Imodyuli ye-GY-87 ye-IMU yindlela entle yokongeza intshukumo yentshukumo kwiiprojekthi zakho, njengerobhothi ezilungelelanisayo okanye i-quadcopter.
Kodwa ngaphambi kokuba uqalise ukuzama imodyuli ye-GY-87 IMU, kufuneka wazi ukuba ungayinxibelelanisa njani nebhodi yakho yeArduino. Kulapho le blog ingena khona! Kule mihlathi ilandelayo, siza kugubungela iziseko zemodyuli ye-GY-87 IMU, indlela yokuseta, kunye nendlela yokubhala ikhowudi ye-Arduino ukufunda idatha yoluvo. Siza kubonelela ngeengcebiso kunye nezixhobo zokulungisa iingxaki eziqhelekileyo.
Ke, ukuba sele ukulungele ukuqalisa, masingene ngaphakathi kwaye sifunde malunga nokunxibelelanisa imodyuli ye-GY-87 IMU kunye neArduino!

Yintoni i-GY-87 IMU MPU6050

Iimodyuli ze-inertial measurement (IMU) ezifana ne-GY-87 zidibanisa ezininzi izinzwa kwiphakheji enye, njenge-MPU6050 i-accelerometer / gyroscope, i-HMC5883L magnetometer, kunye ne-BMP085 yoxinzelelo lwe-barometric sensor. Ngenxa yoko, i-GY-87 IMU MPU6050 yimodyuli yokulandelela intshukumo ye-9-axis edibanisa i-3-axis gyroscope, i-3-axis accelerometer, i-3-axis magnetometer, kunye ne-digital motion processor. Isetyenziswe kakhulu kwiiprojekthi zerobhothi, njenge-quadcopters kunye nezinye izithuthi zasemoyeni ezingenamntu (i-UAVs), kuba inokulinganisa ngokuchanekileyo kunye nokulandelela ukuqhelaniswa kunye nokunyakaza. Ikwasetyenziswa kwezinye iinkqubo, ezinje ngokujonga, ukudlala, kunye nenyani yenyani.

Izixhobo zeHardware

Uya kufuna le hardware ilandelayo kwi-Interfacing GY-87 IMU MPU6050 HMC5883L BMP085 Imodyuli ene-Arduino.

Amacandelo Ixabiso Qty
Arduino UNO 1
MPU6050 Imodyuli yoluvo I-GY-87 1
Ibhodi yezonka 1
IiNcingo zokutsiba 1

GY-87 kunye neArduino 

Ngoku ukuba uyayiqonda i-GY-87, lixesha lokujongana neArduino. Ukwenza oko, landela Ngoku ukuba uyayiqonda i-GY-87, lixesha lokujongana neArduino. Ukwenza oko, landela

Zocwangco

Yenza imidibaniso ngokomzobo wesekethe onikwe ngezantsi

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

Arduino Uluvo lweMPU6050
5V VCC
GND GND
A4 SDA
A5 I-SCA

Ukufakela i-Arduino IDE 

Okokuqala, kufuneka ufake i-Arduino IDE Software kwigosa layo webindawo yeArduino. Nasi isikhokelo esilula ngenyathelo "Indlela yokufaka i-Arduino IDE."

Ukufakela amathala eencwadi 

Ngaphambi kokuba uqale ukulayisha ikhowudi, khuphela kwaye uvule amathala eencwadi alandelayo kwi/Program Files (x86)/Arduino/Libraries (engagqibekanga) ukuze kusetyenziswe isivamvo ngebhodi yeArduino. Nasi isikhokelo esilula senyathelo ngenyathelo “Ungawongeza njani amathala eencwadi kwi-Arduino IDE.”

  • MPU6050
  • Adafruit_BMP085
  • HMC5883L_Ilula

Ikhowudi 

Ngoku kopisha ikhowudi elandelayo kwaye uyilayishe kwi-Arduino IDE Software.

#bandakanya "I2Cdev.h" #include "MPU6050.h" #include #zibandakanya MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_ICompass elula; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = bubuxoki; umiselo olungenanto () { Uthotho. qala (16); Ucingo.qala (); // qalisa izixhobo I-Serial.println(“Iqalisa izixhobo ze-I13C…”); // qalisa i-bmp9600 ukuba (!bmp.begin()) {Serial.println(“Ayinakufumana isivamvo esisebenzayo se-BMP2, khangela (!bmp.begin()) {Serial.println(“Ayinakufumana isivamvo esisebenzayo se-BMP085, khangela i-Serial.println(accelgyro.testConnection() ?“Uqhagamshelwano lweMPU085 luphumelele” : “Uqhagamshelwano lweMPU085 aluphumelelanga”) accelgyro.setI6050CBypassEnabled(yinyaniso); 6050, 'E');amplingmode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
ICompass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // qwalasela i-Arduino LED yokukhangela i-pin pinMode (LED_PIN, OUTPUT); } iluphu engenanto () {
Uthotho.print(“Ubushushu = “); Uthotho.print(bmp.readTemperature());
Uthotho.println(” *C”); Uthotho.print(“Uxinzelelo = “);
Uthotho.print(bmp.readPressure()); Uthotho.println(”Pa”); // Bala umphakamo uthatha 'umgangatho' webarometric // uxinzelelo lwe-1013.25 millibar = 101325 Pascal Serial.print(“Altitude = “); Uthotho.print(bmp.readAltitude()); Uthotho.println(“iimitha”); Uthotho.print(“Uxinzelelo kumphakamo wotywino (kubaliweyo) = “);
Uthotho.print(bmp.readSealevelPressure()); Uthotho.println(”Pa”);
Uthotho.print(“Ubude bokwenyani = “); Uthotho.print(bmp.readAltitude(101500));
Uthotho.println(”iimitha”); // funda imilinganiselo ye-accel/gyro eluhlaza kwisixhobo accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // bonisa ithebhu-yahlulwe accel/gyro x/y/z amaxabiso Uthotho.print(“a/g:\t”); Uthotho.print(ax);
Uthotho.print(“\t”); Uthotho.print(ay); Uthotho.print(“\t”); Uthotho.print(az);
Uthotho.print(“\t”); Uthotho.print(gx); Uthotho.print(“\t”); Uthotho.print(gy);
Uthotho.print(“\t”); Uthotho.println(gz); isihloko sedada =
Compass.GetHeadingDegrees(); Uthotho.print(“Isihloko: \t”); Uthotho.println( isihloko); // ukuqhwanyaza kwe-LED ukubonisa umsebenzi blinkState = !blinkState;
idijithaliWrite(LED_PIN, blinkState); ukulibaziseka (500); }

Masiyivavanye 

Nje ukuba ulayishe ikhowudi, lixesha lokuvavanya isiphaluka! Ikhowudi kwiprogram ye-Arduino idibanisa kunye neenzwa zisebenzisa iilayibrari zazo, ezivumela ukuba zifunde idatha yenzwa kunye nokuseta ukucwangciswa okuhlukeneyo kweenzwa. Emva koko iprinta idatha yoluvo ngaphezulu kwe-serial port. I-LED isetyenziselwa ukubonisa ukuba isekethe yenza into ethile. Oku kuthetha ukuba i-LED idanyaza ngalo lonke ixesha umsebenzi we-loop uqhutywa, ebonisa ukuba ikhowudi ifunda ngenkuthalo amaxabiso oluvo.

Ingcaciso esebenzayo 

Ikhowudi yeyona nto iphambili ekusekwe kuyo ukusebenza kwesekethe. Ke, masiqonde ikhowudi:.

  • Okokuqala, ibandakanya amathala eencwadi amaninzi ukunxibelelana nabenzi boluvo:
  • "I2Cdev.h" kunye ne "MPU6050.h" ngamathala eencwadi eMPU6050 6-axis accelerometer/gyroscope sensor
  • I-“Adafruit_BMP085.h” lithala leencwadi le-BMP085 yoxinzelelo lwebhayometriki.
  • “HMC5883L_Simple.h” lithala leencwadi leHMC5883L yesivamvo semagnetometer.
  • Emva koko idale izinto zehlabathi kwi-sensors ezintathu: MPU6050 accelgyro, Adafruit_BMP085 bmp, kunye ne-HMC5883L_ICompass elula.
  • Okulandelayo, ichaza ezinye izinto eziguquguqukayo zokugcina amaxabiso oluvo, njengezembe, ay, kunye ne-az ye-accelerometer ye-MPU6050 kunye nokuya kwi-magnetometer ye-HMC5883L. Kwaye ichaza i-LED_PIN engatshintshiyo kunye ne-blinkState variable.
  • Ucwangciso () umsebenzi uqalisa unxibelelwano olulandelelanayo kwaye iqala unxibelelwano lwe-I2C. Emva koko iqalisa abenzi boluvo abathathu:
  • Uluvo lwe-BMP085 luqalwa ngokubiza i-start() indlela. Ukuba oku kubuya bubuxoki, ebonisa ukuba umenzi woluvo akafumanekanga, inkqubo ingena kwiluphu engapheliyo kwaye iprinta umyalezo wemposiso ngaphezulu kwezibuko lothotho.
  • Uluvo lweMPU6050 luqalwa ngokufowunela indlela yokuqalisa () kwaye kujongwe ukuba isebenza kakuhle na. Kwaye yamisela i-I2C yokudlula enikwe amandla kwi-MPU6050.
  • Isivamvo se-HMC5883L siqalwa ngokubiza eminye imisebenzi, njengeSetDeclination, SetS.ampiMode ye-ling, iSetScale, kunye neSetOrientation, yokuseta uqwalaselo olwahlukileyo lomenzi woluvo.
  • Kuluphu () umsebenzi, ikhowudi ifunda idatha kubenzi boluvo abathathu kwaye iyishicilele ngaphandle kothotho lwezibuko:
  • Ifunda ubushushu, uxinzelelo, ukuphakama, kunye noxinzelelo kwinqanaba lolwandle ukusuka kwinzwa.
  • Ifunda ukukhawulezisa okukrwada kunye nemilinganiselo ye-gyroscope kwi-MPU6050 sensor.
  • Ifunda isihloko kwi-HMC5883L sensor, eyi-engile phakathi kwecala apho inzwa yalathe khona kunye necala apho imagnethi isemantla ilele.
  • Okokugqibela, idanyaza i-LED ukubonisa umsebenzi kwaye ilinde umzuzwana ngaphambi kokuba iphinde ifunde izinzwa.

Amaxwebhu / Izibonelelo

I-ARDUINO GY87 edibeneyo yoVavanyo lwe-Sensor Sketch [pdf] Incwadi yokusebenzisa
I-GY87 eDityanisiweyo yoVavanyo lomzobo, i-GY87, iSketch yoVavanyo lweSensor eDityanisiweyo, isiketshi soVavanyo lweSensor, isiketshi sovavanyo.

Iimbekiselo

Shiya uluvo

Idilesi yakho ye-imeyile ayizupapashwa. Iindawo ezifunekayo ziphawulwe *