ARDUINO GY87 Combined Sensor Test Sketch
Mawu Oyamba
Ngati ndinu wokonda kupanga kapena wokonda kuloboti, mwapeza gawo laling'ono koma lamphamvuli Ngati ndinu wokonda kupanga kapena wokonda kuloboti, mwapeza barometer yaying'ono koma yamphamvu iyi ya BMP085. Module ya GY-87 IMU ndi njira yabwino yowonjezerera kusuntha kumapulojekiti anu, monga loboti yodziyimitsa yokha kapena quadcopter.
Koma musanayambe kuyesa gawo la GY-87 IMU, muyenera kudziwa momwe mungagwirizanitse ndi bolodi lanu la Arduino. Ndiko komwe blog iyi imabwera! M'ndime zotsatirazi, tikambirana zofunikira za gawo la GY-87 IMU, momwe mungakhazikitsire, ndi kulemba code ya Arduino kuti muwerenge deta ya sensor. Tiperekanso maupangiri ndi zothandizira kuthana ndi zovuta zomwe wamba.
Chifukwa chake, ngati mwakonzeka kuyamba, tiyeni tilowe mkati ndikuphunzira za kulumikizana ndi gawo la GY-87 IMU ndi Arduino!
GY-87 IMU MPU6050 ndi chiyani
Ma module a inertial measurement unit (IMU) monga GY-87 amaphatikiza masensa ambiri kukhala phukusi limodzi, monga MPU6050 accelerometer/gyroscope, HMC5883L magnetometer, ndi BMP085 barometric pressure sensor. Chifukwa chake, GY-87 IMU MPU6050 ndi gawo limodzi la 9-axis motion tracking module lomwe limaphatikiza 3-axis gyroscope, 3-axis accelerometer, 3-axis magnetometer, ndi digito yoyenda purosesa. Amagwiritsidwa ntchito kwambiri m'mapulojekiti a robotiki, monga ma quadcopter ndi magalimoto ena osayendetsedwa ndi ndege (UAVs), chifukwa amatha kuyeza molondola ndikutsata komwe akuzungulira. Amagwiritsidwanso ntchito pazinthu zina, monga kuyenda, masewera, ndi zenizeni zenizeni.
Zida Zamagetsi
Mufunika zida zotsatirazi za Interfacing GY-87 IMU MPU6050 HMC5883L BMP085 Module ndi Arduino.
Zigawo | Mtengo | Qty |
Arduino UNO | – | 1 |
Zamgululi Sensor Module | GY-87 | 1 |
Breadboard | – | 1 |
Jumper Waya | – | 1 |
GY-87 ndi Arduino
Tsopano popeza mwamvetsetsa GY-87, ndi nthawi yolumikizana ndi Arduino. Kuti muchite izi, tsatirani Tsopano popeza mwamvetsetsa GY-87, ndi nthawi yolumikizana ndi Arduino. Kuti muchite izi, tsatirani
Zosangalatsa
Pangani maulumikizidwe molingana ndi chithunzi chomwe chili pansipa
GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoWiring / Connections
Arduino | Sensor ya MPU6050 |
5V | Chithunzi cha VCC |
GND | GND |
A4 | SDA |
A5 | SCA |
Kukhazikitsa Arduino IDE
Choyamba, muyenera kukhazikitsa Arduino IDE Software kuchokera kwa akuluakulu ake webtsamba Arduino. Nayi chitsogozo chosavuta cha "Momwe mungakhalire Arduino IDE."
Kukhazikitsa Library
Musanayambe kukweza kachidindo, koperani ndi kutsegula malaibulale otsatirawa pa /Program Files (x86)/Arduino/Libraries (zosasintha) kuti mugwiritse ntchito sensa ndi bolodi la Arduino. Nayi chitsogozo chosavuta cha "Momwe Mungawonjezere Ma library mu Arduino IDE."
- Zamgululi
- Adafruit_BMP085
- Chithunzi cha HMC5883L
Kodi
Tsopano koperani nambala yotsatirayi ndikuyiyika ku Arduino IDE Software.
#include “I2Cdev.h” #include “MPU6050.h” #include #kuphatikizapo MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Compass Yosavuta; int085_t ax, ayi, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = zabodza; khwekhwe lopanda kanthu () { seri.begin(16); Wire.begin(); // yambitsani zida Serial.println("Kuyambitsa zida za I13C…"); // yambitsani bmp9600 ngati (!bmp.begin()) { Serial.println(“Sindinapeze sensa yovomerezeka ya BMP2, fufuzani (!bmp.begin()) { Serial.println(“Sindinapeze sensa yolondola ya BMP085, yang'anani Serial.println(accelgyro.testConnection() ? 085, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // sinthani Arduino LED kuti muwone pinMode (LED_PIN, OUTPUT); } kuzungulira () {
Serial.print("Kutentha = "); Serial.print(bmp.readTemperature());
Serial.println(” *C”); Serial.print(“Pressure =”);
Serial.print(bmp.readPressure()); Serial.println("Pa"); // Werezerani kutalika potengera 'standard' barometric // kukakamizidwa kwa 1013.25 millibar = 101325 Pascal Serial.print(“Altitude = “); Seri.print(bmp.readAltitude()); Serial.println("mamita"); Serial.print(“Kupanikiza pa seallevel (kuwerengeredwa) = “);
Serial.print(bmp.readSealevelPressure()); Serial.println("Pa");
Serial.print(“Realtitude =”); Seri.print(bmp.readAltitude(101500));
Serial.println("mamita"); // werengani miyeso ya accel/gyro yaiwisi kuchokera ku chipangizo accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // wonetsani zosiyanitsidwa ndi tabu accel/gyro x/y/z Serial.print(“a/g:\t”); Seri.print(nkhwangwa);
Serial.print(“\t”); Seri.print(ay); Serial.print(“\t”); Serial.print(az);
Serial.print(“\t”); Seri.print(gx); Serial.print(“\t”); Serial.print(gy);
Serial.print(“\t”); Serial.println(gz); mutu woyandama =
Compass.GetHeadingDegrees(); Serial.print(“Mutu: \t”); Serial.println(mutu); // kuthwanima kwa LED kusonyeza zochitika blinkState = !blinkState;
digitoWrite(LED_PIN, blinkState); kuchedwa (500); }
Tiyeni Tiyese
Mukayika kachidindo, ndi nthawi yoti muyese dera! Khodi mu pulogalamu ya Arduino imalumikizana ndi masensa pogwiritsa ntchito malaibulale awo, omwe amalola kuti awerenge deta ya sensor ndikuyika masinthidwe osiyanasiyana a masensa. Kenako imasindikiza deta ya sensor padoko la serial. LED imagwiritsidwa ntchito kusonyeza kuti dera likuchita chinachake. Izi zikutanthauza kuti LED imayang'ana nthawi iliyonse pamene ntchito ya loop ikuyendetsedwa, kusonyeza kuti codeyo ikuwerenga mwakhama ma sensor.
Kufotokozera Ntchito
Code ndiye chinthu chachikulu chomwe dera limagwirira ntchito. Kotero, tiyeni timvetsetse code:.
- Choyamba, imaphatikizapo malaibulale angapo kuti agwirizane ndi masensa:
- “I2Cdev.h” ndi “MPU6050.h” ndi malaibulale a MPU6050 6-axis accelerometer/gyroscope sensor
- "Adafruit_BMP085.h" ndi laibulale ya BMP085 barometric pressure sensor.
- "HMC5883L_Simple.h" ndi laibulale ya HMC5883L magnetometer sensor.
- Kenako imapanga zinthu zapadziko lonse za masensa atatuwa: MPU6050 accelgyro, Adafruit_BMP085 bmp, ndi HMC5883L_Simple Compass.
- Kenako, imatanthawuza zosintha zina zosungira ma sensor, monga nkhwangwa, ay, ndi az pa accelerometer ya MPU6050 ndikupita ku magnetometer ya HMC5883L. Ndipo imatanthauzira LED_PIN yosasintha ndi blinkState variable.
- Kukhazikitsa () ntchito kumayamba kulumikizana kwakanthawi ndikuyamba kulumikizana kwa I2C. Kenako imayambitsa masensa atatu:
- Sensa ya BMP085 imayambitsidwa poyitana njira yoyambira (). Ngati izi zibwerera zabodza, zomwe zikuwonetsa kuti sensa sinapezeke, pulogalamuyo imalowa mumtundu wopanda malire ndikusindikiza uthenga wolakwika padoko la serial.
- Sensa ya MPU6050 imayambitsidwa poyimbira njira yoyambira () ndikuwunika ngati ikugwira ntchito moyenera. Ndipo idayika njira yodutsa ya I2C yothandizidwa ndi MPU6050.
- Sensa ya HMC5883L imayambitsidwa poyitana ntchito zina, monga SetDeclination, SetS.amplingMode, SetScale, ndi SetOriental, pokhazikitsa masinthidwe osiyanasiyana a sensa.
- Mu loop () ntchito, code imawerenga deta kuchokera ku masensa atatu ndikuisindikiza pa doko lachinsinsi:
- Imawerenga kutentha, kupanikizika, kukwera, ndi kuthamanga pamtunda wa nyanja kuchokera ku sensa.
- Imawerenga mathamangitsidwe aiwisi ndi miyeso ya gyroscope kuchokera ku sensa ya MPU6050.
- Imawerenga mutu kuchokera ku sensa ya HMC5883L, yomwe ndi ngodya pakati pa komwe sensor ikulozera ndi komwe kuli maginito kumpoto.
- Pomaliza, imayang'anitsa ma LED kuti iwonetse zochitika ndikudikirira kamphindi musanawerengenso masensa.
Zolemba / Zothandizira
![]() |
ARDUINO GY87 Combined Sensor Test Sketch [pdf] Buku Logwiritsa Ntchito GY87 Combined Sensor Test Sketch, GY87, Combined Sensor Test Sketch, Sensor Test Sketch, Test Sketch |