ARDUINO-lgoo

ARDUINO GY87 Ihe Nlebanya Ihe Nlebanya

ARDUINO-GY87-njikọ-ihe mmetụta-Nnwale-ngwaahịa-esetịpụ

Okwu mmalite

Ọ bụrụ na ị bụ onye na-anụ ọkụ n'obi ma ọ bụ onye na-anụ ọkụ n'obi nke robotik, ị hụla modul a dị obere ma dị ike Ọ bụrụ na ị bụ onye na-eme ihe na-anụ ọkụ n'obi ma ọ bụ onye na-anụ ọkụ n'obi, ị hụla modul BMP085 barometer dị obere ma dị ike. Modul GY-87 IMU bụ ụzọ dị mma isi tinye mmetụta ngagharị na ọrụ gị, dị ka robot na-edozi onwe ya ma ọ bụ quadcopter.
Mana tupu ịmalite ịnwale na modul GY-87 IMU, ịkwesịrị ịma ka esi etinye ya na bọọdụ Arduino gị. Nke ahụ bụ ebe blọgụ a na-abata! Na paragraf ndị na-esonụ, anyị ga-ekpuchi isi ihe dị na modul GY-87 IMU, ka esi edozi ya, na otu esi ede koodu Arduino iji gụọ data sensọ. Anyị ga-enyekwa ụfọdụ ndụmọdụ na akụrụngwa maka idozi nsogbu ndị a na-ahụkarị.
Yabụ, ọ bụrụ na ị dịla njikere ibido, ka anyị banye n'ime wee mụta maka itinye ngwa GY-87 IMU na Arduino!

Gịnị bụ GY-87 IMU MPU6050

Modul inertial nha (IMU) modul dị ka GY-87 na-ejikọta ọtụtụ sensọ n'ime otu ngwugwu, dị ka MPU6050 accelerometer/gyroscope, HMC5883L magnetometer, na BMP085 barometric mgbali sensọ. N'ihi ya, GY-87 IMU MPU6050 bụ ihe niile n'ime-otu 9-axis ngagharị nsochi modul na-agwakọta 3-axis gyroscope, 3-axis accelerometer, 3-axis magnetometer, na a dijitalụ ngagharị processor. A na-eji ya eme ihe nke ukwuu na ọrụ rọbọt, dị ka quadcopters na ụgbọ ala ikuku ndị ọzọ na-enweghị mmadụ (UAV), n'ihi na ọ nwere ike tụọ ma soro nghazi na ngagharị. A na-ejikwa ya na ngwa ndị ọzọ, dị ka igodo, egwuregwu, na eziokwu mebere.

Ngwa ngwaike

Ị ga-achọ ngwaike ndị a maka Interfacing GY-87 IMU MPU6050 HMC5883L BMP085 Module na Arduino.

Ngwa Uru Qty
Arduino UNO 1
MPU 6050 Modul sensọ GY-87 1
Mpekere achịcha 1
Wires jumper 1

GY-87 na Arduino 

Ugbu a ị ghọtara GY-87, ọ bụ oge iji Arduino jikọọ. Iji mee nke ahụ, soro Ugbu a na ị ghọtara GY-87, ọ bụ oge iji Arduino jikọọ. Iji mee nke ahụ, soro

Ndokwa

Mee njikọ dị ka eserese sekit enyere n'okpuru

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-njikọ-ihe mmetụta-Nnwale-esetịpụ-fig 1Wiring / njikọ

Arduino Ihe mmetụta MPU6050
5V VCC
GND GND
A4 SDA
A5 SCA

Ịwụnye Arduino IDE 

Nke mbụ, ịkwesịrị ịwụnye ngwa ngwa Arduino IDE sitere na gọọmentị ya websaịtị Arduino. Nke a bụ ntuziaka nzọụkwụ dị mfe na "Otu esi etinye Arduino IDE."

Ịwụnye ọba akwụkwọ 

Tupu ịmalite bulite koodu, budata wee budata ọba akwụkwọ ndị a na /Program Files (x86)/Arduino/Libraries (ndabere) iji jiri ihe mmetụta na bọọdụ Arduino. Nke a bụ ntuziaka nzọụkwụ dị mfe na "Otu esi etinye ọba akwụkwọ na Arduino IDE."

  • MPU 6050
  • Adafruit_BMP085
  • HMC5883L_Mfe

Koodu 

Ugbu a detuo koodu ndị a wee bulite ya na sọftụwia Arduino IDE.

#gụnyere "I2Cdev.h" #gụnye "MPU6050.h" #gụnye #gụnye MPU085 ngwa ngwa; Adafruit_BMP5883 bmp; HMC6050L_Compass dị mfe; int085_t anyụike, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = ụgha; ntọala efu () {Serial.begin(16); Waya.bido(); // bido ngwaọrụ Serial.println (“Imalite ngwaọrụ I13C…”); // malite bmp9600 ma ọ bụrụ (!bmp.begin ()) {Serial.println ("Enweghị ike ịhụ ihe mmetụta BMP2 bara uru, lelee (!bmp.begin()) {Serial.println ("Enweghị ike ịhụ ihe mmetụta BMP085 bara uru, lelee Serial.println(accelgyro.testConnection) njikọ" 085:085" 6050? dara”); accelgyro.setI6050CBypassEnabled(ezi); // setịpụ ụzọ ụzọ ụzọ maka hmc2L // bido hmc5883l Compass.SetDeclination(5883, 23, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Kompas.SetScale(COMPASS_SCALE_130);
Kompas.Setorientation(COMPASS_HORIZONTAL_X_NORTH); // hazie Arduino LED maka ịlele ọrụ pinMode (LED_PIN, OUTPUT); } efu loop () {
Serial.print ("Okpomọkụ = "); Serial.print (bmp.readTemperature());
Serial.println ("*C"); Serial.print ("Nrụgide = ");
Serial.print (bmp.readPressure()); Serial.println ("Pa"); // Gbakọọ elu na-eche 'ọkọlọtọ' barometric // nrụgide nke 1013.25 millibar = 101325 Pascal Serial.print ("Elu = "); Serial.print (bmp.readAltitude()); Serial.println ("mita"); Serial.print ("Nrụgide na Sealevel (gbakọọ) = ");
Serial.print (bmp.readSealevelPressure()); Serial.println ("Pa");
Serial.print ("Ezigbo elu = "); Serial.print (bmp.readAltitude(101500));
Serial.println("mita"); // gụọ nha raw accel/gyro sitere na ngwaọrụ accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // ngosi taabụ-kewapụrụ accel/gyro x/y/z ụkpụrụ 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); isi n'elu mmiri =
Kompas.GetHeadingDegrees(); Serial.print ("Isi okwu: \ t"); Serial.println ( isiokwu ); // blink LED iji gosi ọrụ blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState); igbu oge (500); }

Ka anyị nwalee ya 

Ozugbo i bulitere koodu ahụ, oge eruola ịnwale sekit! Koodu dị na mmemme Arduino na-emekọrịta ihe na sensọ na-eji ụlọ akwụkwọ ha, nke na-enye ya ohere ịgụ data sensọ ma tọọ nhazi dị iche iche nke sensọ. Mgbe ahụ ọ na-ebipụta data sensọ n'elu ọdụ ụgbọ mmiri. A na-eji LED na-egosi na sekit na-eme ihe. Nke a pụtara na LED na-egbuke egbuke mgbe ọ bụla a na-arụ ọrụ akaghị aka, na-egosi na koodu ahụ na-agụsi ike na-agụ ụkpụrụ ihe mmetụta.

Nkọwa ọrụ 

Koodu bụ isi ihe na-arụ ọrụ sekit dabere na ya. Yabụ, ka anyị ghọta koodu:.

  • Nke mbụ, ọ gụnyere ọtụtụ ọba akwụkwọ iji mekọrịta ihe mmetụta sensọ:
  • "I2Cdev.h" na "MPU6050.h" bụ ụlọ akwụkwọ maka MPU6050 6-axis accelerometer/gyroscope sensọ.
  • "Adafruit_BMP085.h" bụ ọbá akwụkwọ maka ihe mmetụta nrụgide barometric BMP085.
  • "HMC5883L_Simple.h" bụ ọbá akwụkwọ maka HMC5883L magnetometer sensọ.
  • Mgbe ahụ ọ na-emepụta ihe zuru ụwa ọnụ maka sensọ atọ: MPU6050 accelgyro, Adafruit_BMP085 bmp, na HMC5883L_Simple Kompas.
  • Na-esote, ọ na-akọwapụta ụfọdụ mgbanwe iji chekwaa ụkpụrụ mmetụta, dị ka anyụike, ay, na az maka accelerometer nke MPU6050 na isi maka magnetometer nke HMC5883L. Ọ na-akọwapụta LED_PIN mgbe niile yana mgbanwe blinkState.
  • Ọrụ ntọlite ​​​​() na-amalite nkwurịta okwu usoro wee malite nzikọrịta ozi I2C. Mgbe ahụ, ọ na-amalite ihe mmetụta atọ ahụ:
  • A na-ebute ihe mmetụta BMP085 site na ịkpọ usoro mmalite (). Ọ bụrụ na nke a laghachiri ụgha, na-egosi na enweghị ike ịchọta ihe mmetụta ahụ, mmemme ahụ na-abanye na akaghị ngwụcha wee bipụta ozi njehie n'elu ọdụ ụgbọ mmiri.
  • A na-ebute ihe mmetụta MPU6050 site na ịkpọ usoro mmalite () wee lelee ma ọ na-arụ ọrụ nke ọma. Ma o debere I2C uzo passes maka MPU6050.
  • Emebere ihe mmetụta HMC5883L site na ịkpọ ụfọdụ ọrụ, dị ka SetDeclination, SetS.amplingMode, SetScale, na SetOrientation, maka ịtọ nhazi dị iche iche maka ihe mmetụta.
  • Na ọrụ loop() , koodu ahụ na-agụ data sitere na sensọ atọ wee bipụta ya n'elu ọdụ ụgbọ mmiri:
  • Ọ na-agụ okpomọkụ, nrụgide, elu, na nrụgide na ọkwa oke osimiri site na ihe mmetụta.
  • Ọ na-agụ ngwa ngwa ngwa ngwa yana nha gyroscope site na ihe mmetụta MPU6050.
  • Ọ na-agụ isiokwu sitere na HMC5883L sensọ, nke bụ akụkụ dị n'etiti ntụziaka nke ihe mmetụta na-atụ aka na ntụziaka nke magnetik n'ebe ugwu dị.
  • N'ikpeazụ, ọ blinks LED na-egosi ọrụ na-echere a oge tupu agụgharị ndị sensọ.

Akwụkwọ / akụrụngwa

ARDUINO GY87 Ihe Nlebanya Ihe Nlebanya [pdf] Akwụkwọ ntuziaka onye ọrụ
GY87 Ihe Nleba Ihe Nnwale Ihe Nlebanya, GY87, Ihe Nlebanya Ihe Nlebanya, Ihe Nleba Ihe Nnwale, Ihe Nlebaanya Nnwale

Ntụaka

Hapụ ikwu

Agaghị ebipụta adreesị ozi-e gị. Akara mpaghara achọrọ akara *