ARDUINO GY87 Ihe Nlebanya Ihe Nlebanya
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 ArduinoWiring / 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 |