ARDUINO GY87 Haɗin Gwajin Sensor
Gabatarwa
Idan kai mai yin mutum ne mai ban sha'awa ko kuma mai sha'awar robotics, kun sami wannan karamin karamin abu idan kun kasance mai son mutum, ko dai masarar robotics mai ƙarfi. Tsarin GY-085 IMU babbar hanya ce don ƙara fahimtar motsi zuwa ayyukanku, kamar mutum-mutumi mai daidaita kai ko quadcopter.
Amma kafin ku fara gwaji tare da GY-87 IMU module, kuna buƙatar sanin yadda ake mu'amala da shi tare da allon Arduino. Wannan shine inda wannan blog ɗin ke shigowa! A cikin sakin layi na gaba, za mu rufe ainihin tushen tsarin GY-87 IMU, yadda ake saita shi, da yadda ake rubuta lambar Arduino don karanta bayanan firikwensin. Za mu kuma samar da wasu nasihu da albarkatu don magance matsalolin gama gari.
Don haka, idan kun kasance a shirye don farawa, bari mu nutse kuma mu koyi game da haɗa tsarin GY-87 IMU tare da Arduino!
Menene GY-87 IMU MPU6050
Naúrar ma'aunin inertial (IMU) kamar GY-87 suna haɗa na'urori masu auna firikwensin da yawa a cikin fakiti ɗaya, kamar MPU6050 accelerometer/gyroscope, HMC5883L magnetometer, da firikwensin matsa lamba barometric BMP085. Don haka, GY-87 IMU MPU6050 shine duk-in-daya 9-axis motsi na bin diddigin motsi wanda ya haɗu da gyroscope 3-axis, accelerometer 3-axis, magnetometer 3-axis, da na'ura mai sarrafa motsi na dijital. Ana amfani da shi da yawa a cikin ayyukan mutum-mutumi, kamar quadcopters da sauran motocin jirage marasa matuki (UAVs), saboda yana iya auna daidai da bin sahun gaba da motsi. Hakanan ana amfani da shi a cikin wasu aikace-aikace, kamar kewayawa, wasan kwaikwayo, da ainihin gaskiya.
Abubuwan Hardware
Kuna buƙatar kayan aiki masu zuwa don Interfacing GY-87 IMU MPU6050 HMC5883L BMP085 Module tare da Arduino.
Abubuwan da aka gyara | Daraja | Qty |
Arduino UNO | – | 1 |
Saukewa: MPU6050 Module Sensor | GY-87 | 1 |
Allodi | – | 1 |
Jumper Wayoyi | – | 1 |
GY-87 tare da Arduino
Yanzu da kun fahimci GY-87, lokaci yayi da za ku yi mu'amala da Arduino. Don yin hakan, bi Yanzu da kun fahimci GY-87, lokaci yayi da za ku yi mu'amala da Arduino. Don yin haka, bi
Tsarin tsari
Yi haɗi bisa ga zanen da'irar da aka bayar a ƙasa
GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoWaya / Haɗin kai
Arduino | MPU6050 Sensor |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCA |
Shigar da Arduino IDE
Da farko, kuna buƙatar shigar da Arduino IDE Software daga hukuma website Arduino. Anan akwai jagorar mataki-mataki mai sauƙi akan “Yadda ake girka Arduino IDE.”
Shigar da Dakunan karatu
Kafin ka fara loda lambar, zazzage kuma ku kwance ɗakunan karatu masu zuwa a /Program Files (x86)/Arduino/Libraries (tsoho) don amfani da firikwensin tare da allon Arduino. Anan akwai jagorar mataki-mataki mai sauƙi akan “Yadda ake Ƙara Laburare a Arduino IDE.”
- Saukewa: MPU6050
- Adafruit_BMP085
- HMC5883L_Mai Sauƙi
Lambar
Yanzu kwafi wannan lambar kuma a loda shi zuwa Software na Arduino IDE.
#hada da "I2Cdev.h" #hada da "MPU6050.h" #hade #hada da MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Sauƙaƙin Compass; int085_t gatari, ay, az; int5883_t gx, gy, gz; #bayyana LED_PIN 16 bool blinkState = ƙarya; babu saitin () {Serial.begin(16); Waya.fara(); // fara na'urori Serial.println ("Ƙaddamar da na'urorin I13C..."); // fara bmp9600 idan (!bmp.begin ())) {Serial.println ("Ba a iya samun ingantaccen firikwensin BMP2 ba, duba (!bmp.begin()) {Serial.println lgyro.setI085CBypassEnabled(gaskiya); // saita yanayin wucewa don ƙofar zuwa hmc085L // fara hmc085l Compass.SetDeclination(6050, 6050, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // saita Arduino LED don duba ayyukan pinMode (LED_PIN, OUTPUT); } madauki mara amfani () {
Serial.print ("Zazzabi = "); Serial.print (bmp.readTemperature());
Serial.println("*C"); Serial.print ("Matsi = ");
Serial.print(bmp.readPressure()); Serial.println ("Pa"); // Yi lissafin tsayin da aka ɗauka 'misali' barometric // matsa lamba na 1013.25 millibar = 101325 Pascal Serial.print ("Altitude = "); Serial.print (bmp.readAltitude()); Serial.println ("mita"); Serial.print ("Matsi a sealed (lasafta) = ");
Serial.print(bmp.readSealevelPressure()); Serial.println ("Pa");
Serial.print ("Haqiqanin tsayi = "); Serial.print (bmp.readAltitude(101500));
Serial.println("mitoci"); // karanta raw accel/gyro ma'auni daga na'urar accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // nuni tab-rabu accel/gyro x/y/z ƙimar 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); kan ruwa =
Compass.GetHeadingDegrees(); Serial.print ("Jigon: \t"); Serial.println ( take ); // haske LED don nuna ayyuka blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState); jinkirta (500); }
Mu Gwada Shi
Da zarar ka loda lambar, lokaci yayi da za a gwada kewaye! Lambar da ke cikin shirin Arduino yana mu'amala da na'urori masu auna firikwensin ta amfani da dakunan karatu, wanda ke ba shi damar karanta bayanan firikwensin da saita sigogi daban-daban na firikwensin. Sannan yana buga bayanan firikwensin akan tashar tashar jiragen ruwa. Ana amfani da LED don nuna cewa kewaye yana yin wani abu. Wannan yana nufin LED ɗin yana ƙyalli duk lokacin da aikin madauki ke gudana, yana nuna cewa lambar tana karanta ƙimar firikwensin rayayye.
Bayanin Aiki
Lambar ita ce babban abin da ke aiki da kewaye a kai. Don haka, bari mu fahimci lambar:.
- Na farko, ya haɗa da ɗakunan karatu da yawa don mu'amala da na'urori masu auna firikwensin:
- "I2Cdev.h" da "MPU6050.h" dakunan karatu ne don MPU6050 6-axis accelerometer/gyroscope firikwensin
- "Adafruit_BMP085.h" ɗakin karatu ne don firikwensin matsi na barometric BMP085.
- "HMC5883L_Simple.h" ɗakin karatu ne don HMC5883L magnetometer firikwensin.
- Sannan yana ƙirƙirar abubuwa na duniya don firikwensin uku: MPU6050 accelgyro, Adafruit_BMP085 bmp, da HMC5883L_Simple Compass.
- Bayan haka, yana bayyana wasu masu canji don adana ƙimar firikwensin, kamar gatari, ay, da az don accelerometer na MPU6050 kuma zuwa kan magnetometer na HMC5883L. Kuma yana bayyana ma'anar LED_PIN akai-akai da madaidaicin blinkState.
- Aikin saitin() yana fara sadarwar serial kuma yana fara sadarwar I2C. Sannan yana fara fitar da na'urori uku:
- An fara firikwensin BMP085 ta hanyar kiran hanyar farawa (). Idan wannan ya dawo karya, yana nuna cewa ba a iya samun firikwensin ba, shirin ya shiga madauki marar iyaka kuma ya buga saƙon kuskure akan tashar tashar jiragen ruwa.
- An ƙaddamar da firikwensin MPU6050 ta hanyar kiran hanyar farawa () da duba ko yana aiki daidai. Kuma ya saita hanyar wucewa ta I2C don MPU6050.
- An fara firikwensin HMC5883L ta hanyar kiran wasu ayyuka, kamar SetDeclination, SetSamplingMode, SetScale, da SetOrientation, don saita saiti daban-daban don firikwensin.
- A cikin aikin madauki(), lambar tana karanta bayanai daga na'urori masu auna firikwensin guda uku kuma ta buga shi akan tashar tashar jiragen ruwa:
- Yana karanta zafin jiki, matsa lamba, tsayi, da matsa lamba a matakin teku daga firikwensin.
- Yana karanta danyen hanzari da ma'aunin gyroscope daga firikwensin MPU6050.
- Yana karanta taken daga HMC5883L firikwensin, wanda shine kusurwar tsakanin alkiblar da firikwensin ke nunawa da kuma alkiblar da Magnetic arewa ke kwance.
- A ƙarshe, yana ƙyalli LED don nuna aiki kuma yana jira na ɗan lokaci kafin sake karanta na'urori masu auna firikwensin.
Takardu / Albarkatu
![]() |
ARDUINO GY87 Haɗin Gwajin Sensor [pdf] Manual mai amfani GY87 Haɗaɗɗen Zane na Gwajin Sensor, GY87, Haɗin Gwajin Gwajin Sensor, Zane-zanen Gwajin Sensor, Tsarin Gwaji |