ARDUINO GY87 Whakakotahi Tohu Whakamātautau Pūoko
Kupu Whakataki
Mena he tangata kaingākau koe ki te hanga karetao, kaikawe karetao ranei, kua kite koe i tenei waahanga iti engari kaha. Ko te kōwae GY-085 IMU he huarahi pai ki te taapiri i nga tohu motini ki o kaupapa, penei i te karetao whakataurite-whaiaro, te quadcopter ranei.
Engari i mua i to tiimata ki te whakamatau me te waahanga GY-87 IMU, me mohio koe ki te hono atu ki to papa Arduino. Koira te urunga mai o tenei blog! I roto i nga wharangi e whai ake nei, ka hipokina e matou nga kaupapa taketake o te GY-87 IMU kōwae, me pehea te whakarite, me te tuhi i te waehere Arduino ki te panui i nga raraunga puoro. Ka hoatu ano e matou etahi tohutohu me nga rauemi mo te rapurongoa i nga take noa.
Na, mena kua reri koe ki te timata, me ruku tatou ki te ako mo te atanga i te kōwae GY-87 IMU me Arduino!
He aha te GY-87 IMU MPU6050
Ko nga waeine inenga inenga (IMU) penei i te GY-87 ka whakakotahi i nga pukoro maha ki roto i te kete kotahi, penei i te MPU6050 accelerometer/gyroscope, te HMC5883L magnetometer, me te BMP085 barometric pressure sensor. No reira, ko te GY-87 IMU MPU6050 he kōwae aroturuki nekehanga 9-tuaka katoa e whakakotahi ana i te gyroscope tuaka-3, te whakatere 3-axis, te magnetometer tuaka-3, me te tukatuka nekehanga mamati. He nui te whakamahi i roto i nga kaupapa karetao, penei i te quadcopters me etahi atu waka rererangi (UAV), na te mea ka taea e ia te ine tika me te whai i te tuunga me te nekehanga. Ka whakamahia ano ki etahi atu tono, penei i te whakatere, te petipeti, me te mooni mariko.
Waenga taputapu
Ka hiahia koe ki nga taputapu e whai ake nei mo te Whakawhitinga GY-87 IMU MPU6050 HMC5883L BMP085 Kōwae me Arduino.
Waehanga | Uara | Qty |
Arduino UNO | – | 1 |
MP6050 Kōwae pūoko | GY-87 | 1 |
Papa taro | – | 1 |
Waea Pekepeke | – | 1 |
GY-87 me Arduino
Inaianei kua mohio koe ki te GY-87, kua tae ki te wa ki te atanga ki te Arduino. Hei mahi i tera, whai Na kua mohio koe ki te GY-87, kua tae ki te wa ki te atanga ki te Arduino. Hei mahi i tera, whai
Pūkana
Hangaia nga hononga kia rite ki te hoahoa ara iahiko i raro nei
GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoWaea / Hononga
Arduino | MPU6050 Pūoko |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCA |
Tāuta Arduino IDE
Tuatahi, me whakauru e koe te Arduino IDE Software mai i tana mana webpae Arduino. Anei he aratohu taahiraa-i-taahiraa mo te "Me pehea te whakauru i te Arduino IDE."
Tāuta Whare Pukapuka
I mua i to tiimata ki te tuku waehere, tango me te wetewete i nga whare pukapuka e whai ake nei i /Pataka Files (x86)/Arduino/Libraries (taunoa) ki te whakamahi i te pūoko ki te papa Arduino. Anei he aratohu taahiraa-i-taahiraa mo te "Me pehea te taapiri i nga Whare Pukapuka i Arduino IDE."
- MP6050
- Adafruit_BMP085
- HMC5883L_Maama
Waehere
Na kapea te waehere e whai ake nei ka tuku atu ki te Arduino IDE Software.
#include “I2Cdev.h” #include “MPU6050.h” #include #whakauru MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Kapehu Mamao; int085_t toki, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = teka; kore te tatūnga() { Serial.begin(16); Wire.begin(); // arawhiti i nga taputapu Serial.println("Ko te timata i nga taputapu I13C ..."); // arawhiti te bmp9600 ki te (!bmp.begin()) { Serial.println(“Kaore i kitea he pukoro BMP2 whaimana, tirohia (!bmp.begin()) { Serial.println(“Kare i kitea he pukoro BMP085 whaimana, tirohia Serial.println(accelgyro.testConnection() ? “MPU085 hononga angitu” : “MPU085 hononga rahua”);accelgyro.setI6050CBypassEnabled(pono); // whakaturia aratau karo mo te kuwaha ki hmc6050L // arawhiti hmc2l Compass.SetDeclination.SetDeclination. 5883, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // whirihora Arduino LED mo te arowhai i te pinMode mahi(LED_PIN, PUTANGA); } kopikopiko kore() {
Serial.print(“Temperature = “); Serial.print(bmp.readTemperature());
Serial.println(” *C”); Serial.print(“Pēhanga = “);
Serial.print(bmp.readPressure()); Serial.println(”Pa”); // Calculate altitude assuming 'standard' barometric // pressure of 1013.25 millibar = 101325 Pascal Serial.print(“Altitude = “); Serial.print(bmp.readAltitude()); Serial.println(“mita”); Serial.print(“Pēhanga i te taumata moana (kua tatau) = “);
Serial.print(bmp.readSealevelPressure()); Serial.println(”Pa”);
Serial.print(“Te teitei teitei = “); Serial.print(bmp.readAltitude(101500));
Serial.println(”mita”); // panui inenga raw accel/gyro mai i te taputapu accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // whakaatu ripa-wehe accel/gyro x/y/z uara Serial.print(“a/g:\t”); Serial.print(toki);
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); mānu pane =
Compass.GetHeadingDegrees(); Serial.print(“Upoko: \t”); Serial.println( pane ); // blink LED to indicator activity blinkState = !blinkState;
DigitalWrite(LED_PIN, blinkState); whakaroa(500); }
Kia Whakamatau Tatou
Kia tukuatu e koe te waehere, kua tae ki te wa ki te whakamatau i te ara iahiko! Ko te waehere i roto i te kaupapa Arduino e hono ana ki nga puoro ma te whakamahi i o raatau whare pukapuka, ka taea e ia te panui i nga raraunga puoro me te whakarite i nga momo whirihoranga o nga puoro. Kātahi ka tāngia ngā raraunga pūoko ki runga i te tauranga rangatū. Ka whakamahia te LED hei whakaatu kei te mahi te ara iahiko. Ko te tikanga tenei ka kimo te LED i nga wa katoa e whakahaerea ana te mahi kopikopiko, e tohu ana kei te kaha te panui o te waehere i nga uara puoro.
Whakamarama Mahi
Ko te waehere te mea nui kei runga te mahi o te ara iahiko. Na, kia mohio tatou ki te waehere:.
- Tuatahi, he maha nga whare pukapuka hei atanga ki nga pukoro:
- "I2Cdev.h" me "MPU6050.h" he whare pukapuka mo te MPU6050 6-axis accelerometer/gyroscope sensor
- Ko te "Adafruit_BMP085.h" he whare pukapuka mo te BMP085 barometric pressure sensor.
- "HMC5883L_Simple.h" he whare pukapuka mo te HMC5883L magnetometer sensor.
- Na ka hangaia e ia nga taonga o te ao mo nga pukoro e toru: MPU6050 accelgyro, Adafruit_BMP085 bmp, me te HMC5883L_Simple Compass.
- Whai muri, ka tautuhia etahi taurangi hei pupuri i nga uara pukoro, penei i te toki, ay, me te az mo te whakaterenga o MPU6050 me te anga ki te magnetometer o HMC5883L. Ka tautuhia e ia he taurangi LED_PIN me te taurangi blinkState.
- Ko te mahi tatūnga() ka timata i te whakawhitiwhiti korero rangatū ka timata te whakawhitiwhiti I2C. Katahi ka arawhiti i nga pukoro e toru:
- Ka arawhiti te puoro BMP085 ma te karanga i te tikanga timata(). Mena ka hoki mai tenei he teka, e tohu ana kaore i kitea te pukoro, ka uru te papatono ki roto i te kohanga mutunga kore ka taia he karere hapa ki runga i te tauranga rangatū.
- Ka arawhiti te pūoko MPU6050 mā te karanga i te tikanga arawhiti() me te taki mēnā kei te tika te mahi. Na ka tautuhia te I2C bypass kua whakahohea mo MPU6050.
- Ko te puoro HMC5883L ka arawhiti ma te waea i etahi mahi, penei i te SetDeclination, SetSamplingMode, SetScale, me SetOrientation, mo te whakarite i nga whirihoranga rereke mo te puoro.
- I roto i te mahinga (), ka panuihia e te waehere nga raraunga mai i nga pukoro e toru ka taia ki runga i te tauranga rangatū:
- Ka panuihia te pāmahana, te pehanga, te teitei, me te pehanga i te taumata o te moana mai i te pukoro.
- Ka panuihia te tere tere me nga inenga gyroscope mai i te puoro MPU6050.
- Ka panuihia te pane mai i te puoro HMC5883L, koinei te koki i waenga i te ahunga e tohu ana te puoro me te ahunga e takoto ana te raki aukume.
- Ka mutu, ka kimohia te LED hei tohu mahi me te tatari mo te wa poto i mua i te panui ano i nga puoro.
Tuhinga / Rauemi
![]() |
ARDUINO GY87 Whakakotahi Tohu Whakamātautau Pūoko [pdf] Pukapuka Kaiwhakamahi GY87 Whakakotahi Tohu Whakamātautau Pūoko, GY87, Tuhia Whakamātautau Pūoko Whakakotahi, Tohu Whakamātautau Pūoko, Tuhituhi Whakamātautau |