ARDUINO-lgoo

Mchoro wa Mtihani wa Kihisi Mchanganyiko wa ARDUINO GY87

ARDUINO-GY87-Combined-Sensor-Test-Sketch-bidhaa

Utangulizi

Ikiwa wewe ni mtengenezaji makini au mpenda roboti, umekutana na moduli hii ndogo lakini yenye nguvu Ikiwa wewe ni mtengenezaji mwenye bidii au mpenda roboti, umekutana na moduli hii ndogo lakini yenye nguvu ya BMP085. Moduli ya GY-87 IMU ni njia nzuri ya kuongeza hisia za mwendo kwenye miradi yako, kama vile roboti inayojisawazisha au quadcopter.
Lakini kabla ya kuanza kujaribu moduli ya GY-87 IMU, unahitaji kujua jinsi ya kuiunganisha na ubao wako wa Arduino. Hapo ndipo blogu hii inapoingia! Katika aya zifuatazo, tutashughulikia misingi ya moduli ya GY-87 IMU, jinsi ya kuiweka, na jinsi ya kuandika msimbo wa Arduino ili kusoma data ya sensorer. Pia tutatoa vidokezo na nyenzo za kutatua masuala ya kawaida.
Kwa hivyo, ikiwa uko tayari kuanza, hebu tuzame na tujifunze kuhusu kuunganisha moduli ya GY-87 IMU na Arduino!

GY-87 IMU MPU6050 ni nini

Moduli za kipimo cha inertial (IMU) kama vile GY-87 huchanganya vitambuzi vingi hadi kwenye kifurushi kimoja, kama vile kipima kasi cha MPU6050/gyroscope, sumaku ya HMC5883L, na kihisi cha shinikizo la bayometriki BMP085. Kwa hivyo, GY-87 IMU MPU6050 ni moduli ya ufuatiliaji wa mwendo wa mhimili 9 ya kila-mahali-moja ambayo inachanganya gyroscope ya mhimili-3, kiongeza kasi cha mhimili-3, sumaku ya mhimili-3, na kichakataji mwendo kidijitali. Inatumika sana katika miradi ya roboti, kama vile quadcopter na magari mengine ya angani yasiyo na rubani (UAVs), kwa sababu inaweza kupima na kufuatilia kwa usahihi mwelekeo na mwendo. Inatumika pia katika programu zingine, kama vile urambazaji, michezo ya kubahatisha na uhalisia pepe.

Vipengee vya Vifaa

Utahitaji maunzi yafuatayo kwa Kuunganisha GY-87 IMU MPU6050 HMC5883L BMP085 Moduli na Arduino.

Vipengele Thamani Qty
Arduino UNO 1
MPU6050 Moduli ya Sensor GY-87 1
Ubao wa mkate 1
Waya za kuruka 1

GY-87 akiwa na Arduino 

Sasa kwa kuwa umeelewa GY-87, ni wakati wa kuunganishwa na Arduino. Ili kufanya hivyo, fuata Sasa kwa kuwa umeelewa GY-87, ni wakati wa kuingiliana na Arduino. Ili kufanya hivyo, fuata

Kimpango

Fanya viunganisho kulingana na mchoro wa mzunguko uliopewa hapa chini

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-Pamoja-Sensor-Mtihani-Mchoro-mtini 1Wiring / Viunganisho

Arduino Sensorer ya MPU6050
5V VCC
GND GND
A4 SDA
A5 SCA

Kufunga Arduino IDE 

Kwanza, unahitaji kusakinisha Arduino IDE Programu kutoka rasmi yake webtovuti ya Arduino. Hapa kuna mwongozo rahisi wa hatua kwa hatua juu ya "Jinsi ya kusakinisha Arduino IDE."

Inasakinisha Maktaba 

Kabla ya kuanza kupakia msimbo, pakua na ufungue maktaba zifuatazo kwenye /Program Files (x86)/Arduino/Libraries (chaguo-msingi) ili kutumia kitambuzi na ubao wa Arduino. Hapa kuna mwongozo rahisi wa hatua kwa hatua juu ya "Jinsi ya Kuongeza Maktaba katika Arduino IDE."

  • MPU6050
  • Adafruit_BMP085
  • HMC5883L_Rahisi

Kanuni 

Sasa nakili nambari ifuatayo na uipakie kwenye Programu ya Arduino IDE.

#jumuisha “I2Cdev.h” #pamoja na “MPU6050.h” #pamoja na #pamoja na MPU085 accelgyro; Adafruit_BMP5883 bmp; Dira ya HMC6050L_Rahisi; int085_t ax, ay, az; int5883_t gx, gy, gz; #fafanua LED_PIN 16 bool blinkState = uongo; usanidi utupu() { Serial.begin(16); Waya.anza(); // anzisha vifaa Serial.println(“Kuanzisha vifaa vya I13C…”); // anzisha bmp9600 ikiwa (!bmp.begin()) { Serial.println(“Haikuweza kupata kitambuzi sahihi cha BMP2, angalia (!bmp.begin()) { Serial.println(“Haikuweza kupata kitambuzi sahihi cha BMP085, angalia Serial.println(accelgyro.testConnection()? 085, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // sanidi Arduino LED kwa kuangalia pinMode ya shughuli(LED_PIN, OUTPUT); } kitanzi tupu() {
Serial.print("Joto = "); Serial.print(bmp.readJoto());
Serial.println(” *C”); Serial.print(“Shinikizo = “);
Serial.print(bmp.readPressure()); Serial.println("Pa"); // Kokotoa mwinuko kwa kuchukulia 'kiwango' cha barometriki // shinikizo la millibar 1013.25 = 101325 Pascal Serial.print(“Altitude = “); Serial.print(bmp.readAltitude()); Serial.println("mita"); Serial.print(“Shinikizo katika kiwango cha muhuri (kilichohesabiwa) = “);
Serial.print(bmp.readSealevelPressure()); Serial.println("Pa");
Serial.print(“Urefu Halisi = “); Serial.print(bmp.readAltitude(101500));
Serial.println("mita"); // soma vipimo ghafi vya accel/gyro kutoka kwa kifaa accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // onyesha thamani zilizotenganishwa na kichupo cha accel/gyro x/y/z Serial.print(“a/g:\t”); Serial.print(shoka);
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); kichwa cha kuelea =
Compass.GetHeadingDegrees(); Serial.print(“Kichwa: \t”); Serial.println(kichwa); // blink LED kuonyesha shughuli blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState); kuchelewa (500); }

Hebu Tuijaribu 

Mara tu unapopakia msimbo, ni wakati wa kujaribu mzunguko! Nambari katika mpango wa Arduino inaingiliana na sensorer kwa kutumia maktaba zao, ambayo inaruhusu kusoma data ya sensorer na kuweka usanidi mbalimbali wa sensorer. Kisha huchapisha data ya sensorer juu ya bandari ya serial. LED hutumiwa kuonyesha kwamba mzunguko unafanya kitu. Hii inamaanisha kuwa taa ya LED huwaka kila wakati utendakazi wa kitanzi unapoendeshwa, ikionyesha kuwa msimbo unasoma kikamilifu thamani za vitambuzi.

Ufafanuzi wa Kazi 

Nambari ndio jambo kuu ambalo kazi ya mzunguko inategemea. Kwa hiyo, hebu tuelewe kanuni :.

  • Kwanza, inajumuisha maktaba kadhaa ili kuunganishwa na sensorer:
  • “I2Cdev.h” na “MPU6050.h” ni maktaba za kihisishi cha kasi cha kasi cha 6050-axis cha MPU6/gyroscope
  • “Adafruit_BMP085.h” ni maktaba ya kitambuzi cha shinikizo la baometriki ya BMP085.
  • "HMC5883L_Simple.h" ni maktaba ya sensor ya sumaku ya HMC5883L.
  • Kisha inaunda vitu vya kimataifa kwa vitambuzi vitatu: MPU6050 accelgyro, Adafruit_BMP085 bmp, na HMC5883L_Simple Compass.
  • Ifuatayo, inafafanua baadhi ya vigeu vya kuhifadhi thamani za vitambuzi, kama vile shoka, ay, na az kwa kipima kasi cha MPU6050 na kuelekea kwenye sumaku ya HMC5883L. Na inafafanua LED_PIN isiyobadilika na kigezo cha blinkState.
  • Seti () chaguo za kukokotoa huanza mawasiliano ya mfululizo na huanza mawasiliano ya I2C. Kisha inaanzisha sensorer tatu:
  • Sensor ya BMP085 inaanzishwa kwa kupiga njia ya begin(). Ikiwa hii itarejesha sivyo, ikionyesha kuwa kitambuzi hakikuweza kupatikana, programu huingia kwenye kitanzi kisicho na kikomo na kuchapisha ujumbe wa hitilafu kwenye mlango wa mfululizo.
  • Kihisi cha MPU6050 kinaanzishwa kwa kuita njia ya initialize() na kuangalia ikiwa inafanya kazi ipasavyo. Na iliweka bypass ya I2C iliyowezeshwa kwa MPU6050.
  • Sensor ya HMC5883L inaanzishwa kwa kupiga baadhi ya vipengele, kama vile SetDeclination, SetS.amplingMode, SetScale, na SetOrientation, kwa kuweka usanidi tofauti wa kihisi.
  • Katika kitanzi () kitendakazi, nambari husoma data kutoka kwa vitambuzi vitatu na kuichapisha juu ya mlango wa serial:
  • Inasoma halijoto, shinikizo, mwinuko, na shinikizo kwenye usawa wa bahari kutoka kwa kihisi.
  • Inasoma vipimo ghafi vya kuongeza kasi na gyroscope kutoka kwa kihisi cha MPU6050.
  • Inasoma kichwa kutoka kwa sensor ya HMC5883L, ambayo ni pembe kati ya mwelekeo ambao sensor inaelekeza na mwelekeo ambao kaskazini ya sumaku iko.
  • Hatimaye, huwaka taa ili kuonyesha shughuli na inasubiri kwa muda kabla ya kusoma tena vitambuzi.

Nyaraka / Rasilimali

Mchoro wa Mtihani wa Kihisi Mchanganyiko wa ARDUINO GY87 [pdf] Mwongozo wa Mtumiaji
Mchoro wa Mtihani wa Kihisi Mchanganyiko wa GY87, GY87, Mchoro wa Mtihani wa Kihisi Mchanganyiko, Mchoro wa Jaribio la Sensor, Mchoro wa Jaribio

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *