ARDUINO-lgoo

ARDUINO GY87 Gihiusa nga Sensor Test Sketch

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

Pasiuna

Kung ikaw usa ka avid maker o usa ka robotics enthusiast, nakit-an nimo kining gamay apan kusgan nga module Kung ikaw usa ka avid maker o usa ka robotics enthusiast, nakit-an nimo kining gamay apan kusgan nga module nga BMP085 barometer. Ang GY-87 IMU module usa ka maayong paagi sa pagdugang sa motion sensing sa imong mga proyekto, sama sa usa ka robot nga nagbalanse sa kaugalingon o usa ka quadcopter.
Apan sa dili ka pa magsugod sa pag-eksperimento sa GY-87 IMU module, kinahanglan nimo mahibal-an kung unsaon kini pag-interface sa imong Arduino board. Mao kana kung diin kini nga blog moabut! Sa mosunod nga mga parapo, atong tabonan ang mga sukaranan sa GY-87 IMU module, unsaon kini pag-set up, ug unsaon pagsulat ang Arduino code aron mabasa ang data sa sensor. Maghatag usab kami pipila ka mga tip ug mga kapanguhaan alang sa pag-troubleshoot sa kasagarang mga isyu.
Busa, kung andam ka nga magsugod, mag-dive kita ug magkat-on bahin sa pag-interface sa GY-87 IMU module sa Arduino!

Unsa ang GY-87 IMU MPU6050

Ang inertial measurement unit (IMU) nga mga module sama sa GY-87 naghiusa sa daghang mga sensor sa usa ka pakete, sama sa MPU6050 accelerometer/gyroscope, ang HMC5883L magnetometer, ug ang BMP085 barometric pressure sensor. Busa, ang GY-87 IMU MPU6050 kay all-in-one 9-axis motion tracking module nga naghiusa sa 3-axis gyroscope, 3-axis accelerometer, 3-axis magnetometer, ug digital motion processor. Gigamit kini og daghan sa mga robotic nga proyekto, sama sa quadcopters ug uban pang unmanned aerial vehicles (UAVs), tungod kay kini tukma nga makasukod ug makasubay sa oryentasyon ug paglihok. Gigamit usab kini sa ubang mga aplikasyon, sama sa nabigasyon, pagdula, ug virtual reality.

Mga sangkap sa Hardware

Kinahanglan nimo ang mosunod nga hardware alang sa Interfacing GY-87 IMU MPU6050 HMC5883L BMP085 Module uban sa Arduino.

Mga sangkap Bili Qty
Arduino UNO 1
MPU6050 Module sa Sensor GY-87 1
Breadboard 1
Jumper Wire 1

GY-87 uban sa Arduino 

Karon nga imong nasabtan ang GY-87, panahon na nga mag-interface sa Arduino. Aron mahimo kana, sunda Karon nga imong nasabtan ang GY-87, panahon na nga mag-interface sa Arduino. Aron mahimo kana, sunda

Usa ka eskematiko

Paghimo og mga koneksyon sumala sa circuit diagram nga gihatag sa ubos

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-Combined-Sensor-Test-Sketch-fig 1Mga Wiring / Koneksyon

Arduino MPU6050 nga sensor
5V VCC
GND GND
A4 SDA
A5 SCA

Pag-instalar sa Arduino IDE 

Una, kinahanglan nimo nga i-install ang Arduino IDE Software gikan sa opisyal niini website Arduino. Ania ang usa ka yano nga lakang sa lakang nga giya sa "Unsaon pag-install sa Arduino IDE."

Pag-instalar sa mga Librarya 

Sa dili ka pa magsugod sa pag-upload sa code, i-download ug i-unzip ang mosunod nga mga librarya sa /Program Files (x86)/Arduino/Libraries (default) aron magamit ang sensor sa Arduino board. Ania ang usa ka yano nga lakang-sa-lakang nga giya sa "Unsaon Pagdugang Mga Libro sa Arduino IDE."

  • MPU6050
  • Adafruit_BMP085
  • HMC5883L_Simple

Kodigo 

Karon kopyaha ang mosunod nga code ug i-upload kini sa Arduino IDE Software.

#include “I2Cdev.h” #include “MPU6050.h” #include #apil MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Simple Compass; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = bakak; void setup() {Serial.begin(16); Wire.begin(); // pag-initialize sa mga device Serial.println("Initializing I13C devices..."); // initialize bmp9600 kon (!bmp.begin()) {Serial.println("Dili makakita ug balido nga BMP2 sensor, check (!bmp.begin()) { Serial.println("Dili makakita ug balido nga BMP085 sensor, check Serial.println(accelgyro.testConnection() ? “MPU085 connection successful” : “MPU085 connection failed”); accelgyro.setI6050CBypassEnabled(tinuod); // set bypass mode para sa gateway sa hmc6050L // initialize hmc2l Compass.SetDeclination(5883.SetDeclination. 5883, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // i-configure ang Arduino LED alang sa pagsusi sa kalihokan sa pinMode (LED_PIN, OUTPUT); } void loop() {
Serial.print(“Temperatura = “); Serial.print(bmp.readTemperature());
Serial.println(” *C”); Serial.print("Presyur = ");
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("metro"); Serial.print("Presyur sa lebel sa dagat (gikalkula) = ");
Serial.print(bmp.readSealevelPressure()); Serial.println("Pa");
Serial.print("Tinuod nga altitude = "); Serial.print(bmp.readAltitude(101500));
Serial.println("metro"); // basaha ang hilaw nga accel/gyro nga mga sukod gikan sa device accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // display tab-separated accel/gyro x/y/z values ​​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); float nga ulohan =
Compass.GetHeadingDegrees(); Serial.print("Ulohan: \t"); Serial.println(ulohan); // blink LED aron ipakita ang kalihokan blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState); paglangan(500); }

Atong Sulayan Kini 

Kung ma-upload nimo ang code, panahon na aron sulayan ang circuit! Ang code sa programa sa Arduino nakig-uban sa mga sensor gamit ang ilang mga librarya, nga nagtugot niini sa pagbasa sa data sa sensor ug pagtakda sa lainlaing mga pag-configure sa mga sensor. Dayon kini nag-imprinta sa data sa sensor sa serial port. Ang LED gigamit aron ipakita nga ang sirkito adunay gibuhat. Kini nagpasabot nga ang LED mokidlap sa matag higayon nga ang loop function gipadagan, nga nagpakita nga ang code aktibo nga nagbasa sa mga bili sa sensor.

Pagpatin-aw sa Pagtrabaho 

Ang code mao ang panguna nga butang diin gibase ang pagtrabaho sa circuit. Busa, atong sabton ang code:.

  • Una, kini naglakip sa daghang mga librarya aron ma-interface sa mga sensor:
  • Ang "I2Cdev.h" ug "MPU6050.h" mga librarya para sa MPU6050 6-axis accelerometer/gyroscope sensor
  • Ang "Adafruit_BMP085.h" usa ka librarya alang sa BMP085 barometric pressure sensor.
  • Ang "HMC5883L_Simple.h" usa ka librarya alang sa HMC5883L magnetometer sensor.
  • Dayon nagmugna kini og global nga mga butang alang sa tulo ka sensor: MPU6050 accelgyro, Adafruit_BMP085 bmp, ug HMC5883L_Simple Compass.
  • Sunod, gihubit niini ang pipila ka mga baryable sa pagtipig sa mga kantidad sa sensor, sama sa wasay, ay, ug az alang sa accelerometer sa MPU6050 ug sa pag-adto sa magnetometer sa HMC5883L. Ug gihubit niini ang usa ka kanunay nga LED_PIN ug usa ka variable nga blinkState.
  • Ang setup() function magsugod ug serial communication ug magsugod sa I2C communication. Dayon kini magsugod sa tulo ka mga sensor:
  • Ang sensor sa BMP085 gisugdan pinaagi sa pagtawag sa pamaagi sa pagsugod (). Kung kini mobalik nga sayup, nga nagpakita nga ang sensor dili makit-an, ang programa mosulod sa usa ka walay katapusan nga loop ug mag-imprinta sa usa ka mensahe sa sayup sa serial port.
  • Ang MPU6050 sensor gisugdan pinaagi sa pagtawag sa initialize() nga pamaagi ug pagsusi kon kini ba nagtrabaho sa husto. Ug gitakda niini ang I2C bypass nga gipagana para sa MPU6050.
  • Ang HMC5883L sensor gisugdan pinaagi sa pagtawag sa pipila ka mga gimbuhaton, sama sa SetDeclination, SetSamplingMode, SetScale, ug SetOrientation, para sa pag-set sa lain-laing mga configuration para sa sensor.
  • Sa loop () function, ang code nagbasa sa datos gikan sa tulo ka mga sensor ug giimprinta kini sa serial port:
  • Gibasa niini ang temperatura, pressure, altitude, ug pressure sa lebel sa dagat gikan sa sensor.
  • Gibasa niini ang hilaw nga pagpatulin ug pagsukod sa gyroscope gikan sa MPU6050 sensor.
  • Gibasa niini ang ulohan gikan sa sensor sa HMC5883L, nga mao ang anggulo tali sa direksyon diin gipunting ang sensor ug ang direksyon kung diin nahimutang ang magnetic north.
  • Sa katapusan, kini nagpakidlap sa LED aron ipakita ang kalihokan ug maghulat usa ka gutlo sa dili pa basahon pag-usab ang mga sensor.

Mga Dokumento / Mga Kapanguhaan

ARDUINO GY87 Gihiusa nga Sensor Test Sketch [pdf] Manwal sa Gumagamit
GY87 Combined Sensor Test Sketch, GY87, Combined Sensor Test Sketch, Sensor Test Sketch, Test Sketch

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *