ARDUINO-lgoo

ARDUINO GY87 kombineeritud anduri testimise skeem

ARDUINO-GY87-Kombineeritud-Andur-Test-Sketch-toode

Sissejuhatus

Kui olete innukas tegija või robootikahuviline, olete kohanud seda pisikest, kuid võimsat moodulit. Kui olete innukas tegija või robootikahuviline, olete kohanud seda pisikest, kuid võimsat moodulit BMP085 baromeetrit. Moodul GY-87 IMU on suurepärane võimalus lisada oma projektidesse liikumisandurit, näiteks isetasakaalustuv robot või nelikkopter.
Kuid enne GY-87 IMU mooduliga katsetamist peate teadma, kuidas seda oma Arduino plaadiga liidestada. Siit tulebki see blogi sisse! Järgmistes lõikudes käsitleme GY-87 IMU mooduli põhitõdesid, selle seadistamist ja Arduino koodi kirjutamist anduri andmete lugemiseks. Pakume ka mõningaid näpunäiteid ja ressursse levinud probleemide tõrkeotsinguks.
Seega, kui olete alustamiseks valmis, sukeldugem sisse ja õppige GY-87 IMU mooduli liidestamist Arduinoga!

Mis on GY-87 IMU MPU6050

Inertsiaalsete mõõtühikute (IMU) moodulid, nagu GY-87, ühendavad palju andureid ühte paketti, nagu MPU6050 kiirendusmõõtur/güroskoop, HMC5883L magnetomeeter ja BMP085 õhurõhuandur. Seega on GY-87 IMU MPU6050 kõik-ühes 9-teljeline liikumisjälgimismoodul, mis ühendab endas 3-teljelise güroskoopi, 3-teljelise kiirendusmõõturi, 3-teljelise magnetomeetri ja digitaalse liikumisprotsessori. Seda kasutatakse palju robotiprojektides, nagu nelikkopterid ja muud mehitamata õhusõidukid (UAV), kuna see suudab täpselt mõõta ja jälgida orientatsiooni ja liikumist. Seda kasutatakse ka muudes rakendustes, nagu navigeerimine, mängimine ja virtuaalne reaalsus.

Riistvara komponendid

Mooduli GY-87 IMU MPU6050 HMC5883L BMP085 liidestamiseks Arduinoga vajate järgmist riistvara.

Komponendid Väärtus Kogus
Arduino UNO 1
MPU6050 Anduri moodul GY-87 1
Leivalaud 1
Jumper juhtmed 1

GY-87 koos Arduinoga 

Nüüd, kui olete GY-87-st aru saanud, on aeg ühendada Arduino. Selleks järgige järgmist. Nüüd, kui olete GY-87-st aru saanud, on aeg Arduinoga liidestada. Selleks järgige

Skemaatiline

Tehke ühendused vastavalt allpool toodud skeemile

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87 - kombineeritud anduri testimine - visand - joonis 1Juhtmed / Ühendused

Arduino MPU6050 andur
5V VCC
GND GND
A4 SDA
A5 SCA

Arduino IDE installimine 

Esiteks peate selle ametlikult installima Arduino IDE tarkvara websait Arduino. Siin on lihtne samm-sammult juhend "Kuidas installida Arduino IDE".

Teekide installimine 

Enne koodi üleslaadimise alustamist laadige alla ja pakkige lahti järgmised teegid aadressil /Program Files (x86)/Arduino/Libraries (vaikimisi), et kasutada andurit koos Arduino plaadiga. Siin on lihtne samm-sammult juhend teemal "Kuidas Arduino IDE-s raamatukogusid lisada".

  • MPU6050
  • Adafruit_BMP085
  • HMC5883L_Lihtne

Kood 

Nüüd kopeerige järgmine kood ja laadige see Arduino IDE tarkvarasse.

#include "I2Cdev.h" #include "MPU6050.h" #include #kaasa MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Lihtne kompass; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = väär; void setup() { Serial.begin(16); Wire.begin(); // seadmete lähtestamine Serial.println(“I13C-seadmete lähtestamine…”); // initsialiseerige bmp9600 if (!bmp.begin()) { Serial.println("Ei leidnud kehtivat BMP2 andurit, kontrollige (!bmp.begin()) { Serial.println("Ei leidnud kehtivat BMP085 andurit, kontrollige Serial.println(accelgyro.testConnection() ? "MPU085 ühendus õnnestus" : "MPU085 ühendus ebaõnnestus"); accelgyro.setI6050CBypassEnabled(true); // määrake hmc6050L-i lüüsi möödaviigurežiim // initsialiseerige hmc2lDec5883 5883, 'E'); Compass.SetSamplingMode(KOMPASS_ÜKSIK);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // Arduino LED-i seadistamine tegevuse kontrollimiseks pinMode(LED_PIN, OUTPUT); } void loop() {
Serial.print("Temperatuur = "); Serial.print(bmp.readTemperature());
Serial.println(" *C"); Serial.print("Rõhk = ");
Serial.print(bmp.readPressure()); Serial.println("Pa"); // Arvutage kõrgus merepinnast, eeldades 'standardset' baromeetrilist // rõhku 1013.25 millibaari = 101325 Pascal Serial.print("Altitude = "); Serial.print(bmp.readAltitude()); Serial.println(“meetrid”); Serial.print(“Rõhk merepinnal (arvutatud) = “);
Serial.print(bmp.readSealevelPressure()); Serial.println("Pa");
Serial.print("Tegelik kõrgus = "); Serial.print(bmp.readAltitude(101500));
Serial.println("meetrid"); // kiirenduse/güroskoopi töötlemata mõõtmiste lugemine seadmest accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // kuva tabeldusmärgiga eraldatud accel/gyro x/y/z väärtused Serial.print(“a/g:\t”); Serial.print(ax);
Serial.print("\t"); Serial.print(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); ujuv suund =
Compass.GetHeadingDegrees(); Serial.print("Pealkiri: \t"); Serial.println( rubriik ); // LED vilkumine tegevuse näitamiseks blinkState = !blinkState;
digitalWrite(LED_PIN, vilkumise olek); viivitus(500); }

Testime seda 

Kui olete koodi üles laadinud, on aeg vooluringi testida! Arduino programmi kood liidestub anduritega, kasutades nende teeke, mis võimaldab lugeda andurite andmeid ja seadistada andurite erinevaid konfiguratsioone. Seejärel prindib see anduri andmed jadapordi kaudu välja. LED-i kasutatakse näitamaks, et vooluahel teeb midagi. See tähendab, et LED-tuli vilgub iga kord, kui tsüklifunktsiooni käitatakse, mis näitab, et kood loeb aktiivselt anduri väärtusi.

Töö seletus 

Kood on peamine asi, millel vooluringi töö põhineb. Niisiis, mõistame koodi:.

  • Esiteks sisaldab see anduritega liidestamiseks mitut teeki:
  • "I2Cdev.h" ja "MPU6050.h" on MPU6050 6-teljelise kiirendusmõõturi/güroskoopanduri teegid
  • “Adafruit_BMP085.h” on BMP085 õhurõhuanduri raamatukogu.
  • "HMC5883L_Simple.h" on HMC5883L magnetomeetri anduri raamatukogu.
  • Seejärel loob see kolme anduri jaoks globaalsed objektid: MPU6050 accelgyro, Adafruit_BMP085 bmp ja HMC5883L_Simple Compass.
  • Järgmisena määratleb see mõned muutujad andurite väärtuste salvestamiseks, näiteks ax, ay ja az MPU6050 kiirendusmõõturi jaoks ning HMC5883L magnetomeetri jaoks. Ja see määratleb LED_PIN konstandi ja muutuja blinkState.
  • Funktsioon setup() alustab jadasidet ja alustab I2C sidet. Seejärel lähtestab see kolm andurit:
  • BMP085 andur lähtestatakse meetodi start() kutsumisega. Kui see tagastab vale, mis näitab, et andurit ei leitud, siseneb programm lõpmatusse ahelasse ja prindib jadapordi kaudu veateate.
  • MPU6050 andur lähtestatakse, kutsudes esile meetodi inicialiseeritud () ja kontrollides, kas see töötab õigesti. Ja see lubas MPU2 jaoks I6050C möödaviigu.
  • HMC5883L andur lähtestatakse, kutsudes välja mõned funktsioonid, nagu SetDeclination, SetSamplingMode, SetScale ja SetOrientation, anduri erinevate konfiguratsioonide seadistamiseks.
  • Funktsioonis loop() loeb kood andmeid kolmelt andurilt ja prindib need välja jadapordi kaudu:
  • See loeb andurilt temperatuuri, rõhku, kõrgust ja rõhku merepinnal.
  • See loeb MPU6050 andurilt toorkiirenduse ja güroskoobi mõõtmisi.
  • See loeb HMC5883L anduri kursi, mis on nurk sensori suuna ja magnetilise põhjasuuna vahel.
  • Lõpuks vilgub LED-tuli, mis näitab aktiivsust, ja ootab hetke, enne kui hakkab andureid uuesti lugema.

Dokumendid / Ressursid

ARDUINO GY87 kombineeritud anduri testimise skeem [pdfKasutusjuhend
GY87 kombineeritud anduri testimise visand, GY87, kombineeritud anduri testimise visand, anduri testimise visand, testide sketš

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *