ARDUINO GY87 Tu'ufa'atasi Su'ega Su'ega Sketch
Folasaga
Afai o oe ose tagata faufale po'o se tagata e fiafia i le robotics, ua e tau atu i lenei fa'aoga la'ititi ae mamana Afai o oe o se tagata faufale po'o se tagata e fiafia i le robotics, ua e tau atu i lenei la'ititi ae mamana BMP085 barometer. O le GY-87 IMU module o se auala sili lea e faʻaopoopo ai le lagona o le lafo i au galuega, pei o se robot faapaleniina o le tagata lava ia poʻo se quadcopter.
Ae ae e te leʻi amata faʻataʻitaʻi i le GY-87 IMU module, e tatau ona e iloa pe faʻafefea ona faʻafesoʻotaʻi ma lau laupapa Arduino. O le mea lena e sau ai lenei blog! I parakalafa o loʻo mulimuli mai, o le a matou aofia ai faʻavae o le GY-87 IMU module, faʻafefea ona faʻatutuina, ma pe faʻapefea ona tusia le Arduino code e faitau ai faʻamatalaga faʻamatalaga. O le a matou tu'uina atu fo'i ni fautuaga ma punaoa mo le fo'ia o fa'afitauli masani.
O lea, afai ua e sauni e amata, seʻi o tatou maulu ma aʻoaʻo e uiga i le faʻafesoʻotaʻi o le GY-87 IMU module ma Arduino!
O le a le GY-87 IMU MPU6050
Inertial measurement unit (IMU) modules e pei o le GY-87 e tuʻufaʻatasia le tele o masini i totonu o se afifi e tasi, e pei o le MPU6050 accelerometer / gyroscope, le HMC5883L magnetometer, ma le BMP085 barometric pressure sensor. O le mea lea, o le GY-87 IMU MPU6050 o se 9-axis motion tracking module e tuʻufaʻatasia ai se gyroscope 3-axis, 3-axis accelerometer, 3-axis magnetometer, ma se masini komepiuta feaveaʻi. E fa'aaogaina tele i galuega fa'akomepiuta, e pei o quadcopters ma isi ta'avale ele'ele (UAVs), aua e mafai ona fua sa'o ma siaki le fa'atonuga ma le gaioiga. E fa'aogaina fo'i i isi fa'aoga, e pei o le fa'atautaiga, ta'aloga, ma mea moni fa'apitoa.
Vaega o Meafaigaluega
E te manaʻomia mea nei mo le Faʻafesoʻotaʻi GY-87 IMU MPU6050 HMC5883L BMP085 Module ma Arduino.
Vaega | Taua | Qty |
Arduino UNO | – | 1 |
MPU6050 Sensor Module | GY-87 | 1 |
Laupapa falaoa | – | 1 |
Uaea Jumper | – | 1 |
GY-87 ma Arduino
O lea ua e malamalama i le GY-87, ua oʻo i le taimi e faʻafesoʻotaʻi ai ma le Arduino. Ina ia faia lena mea, mulimuli i le taimi nei ua e malamalama i le GY-87, ua oʻo i le taimi e faʻafesoʻotaʻi ai ma le Arduino. Ina ia faia lena mea, mulimuli
Fuafuaga
Fai feso'ota'iga e tusa ai ma le fa'ata'ita'iga o lo'o tu'uina atu i lalo
GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoUaea / So'oga
Arduino | MPU6050 Sensor |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCA |
Faʻapipiʻi Arduino IDE
Muamua, e tatau ona e faʻapipiʻi Arduino IDE Software mai lona ofisa aloaia webnofoaga Arduino. O se taʻiala faigofie lea i lea laʻasaga i le "Faʻafefea ona faʻapipiʻi Arduino IDE."
Fa'apipi'i Faletusi
Ae e te le'i amataina le fa'auluina o le code, download ma tatala le sipuni faletusi nei ile /Program Files (x86)/Arduino/Libraries (default) ina ia mafai ona faʻaogaina le masini i le Arduino laupapa. O se taʻiala faigofie i lea laʻasaga i le "Faʻafefea ona Faʻaopoopo Faletusi i Arduino IDE."
- MPU6050
- Adafruit_BMP085
- HMC5883L_Fa'afaigofie
Code
Ia kopi le code lea ma tuʻu i le Arduino IDE Software.
#include “I2Cdev.h” #include “MPU6050.h” #include #fa'aofia MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Tausaga Faigofie; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = sese; void setup() { Serial.begin(16); Wire.begin(); // amataina masini Serial.println(“Amataina masini I13C…”); // amataina le bmp9600 pe afai (!bmp.begin()) {Serial.println("E le'i maua se masini BMP2 aoga, siaki (!bmp.begin()) { Serial.println("E le'i maua se masini BMP085 aoga, siaki Serial.println(accelgyro.testConnection() ? "MPU085 fesoʻotaʻiga manuia" : "MPU085 fesoʻotaʻiga le manuia");accelgyro.setI6050CBypassEnabled(moni); // seti ala ala savali mo le faitotoa i le hmc6050L // amataina hmc2l Compass.SetDeclination(5883Declination.SetDeclination. 5883, 'E'); Tapasa.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Tapasa.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // fetuutuunai Arduino LED mo le siakiina o gaoioiga pinMode(LED_PIN, OUTPUT); } gaogao gaogao() {
Serial.print(“Temperature = “); Serial.print(bmp.readTemperature());
Serial.println(” *C”); Serial.print(“Omiga = “);
Serial.print(bmp.readPressure()); Serial.println(”Pa”); // Fa'atatau le maualuga pe a fa'apea 'tulaga' barometric // mamafa o le 1013.25 millibar = 101325 Pascal Serial.print(“Altitude = “); Serial.print(bmp.readAltitude()); Serial.println(“mita”); Serial.print(“Omiga i luga ole sami (fuafuaina) = “);
Serial.print(bmp.readSealevelPressure()); Serial.println(”Pa”);
Serial.print(“Moi le maualuga = “); Serial.print(bmp.readAltitude(101500));
Serial.println(”mita”); // faitau fua accel/gyro mai le masini accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // fa'aali fa'ailoga tu'ueseese accel/gyro x/y/z taulia 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); ulutala faaopeopea =
Compass.GetHeadingDegrees(); Serial.print(“Ulutala: \t”); Serial.println( heading ); // emo LED e fa'ailoa ai le gaioiga blinkState = !blinkState;
numeraWrite(LED_PIN, blinkState); tuai(500); }
Tatou Tofotofoina
O le taimi lava e te lafoina ai le code, ua oʻo i le taimi e suʻe ai le matagaluega! O le code i le polokalame Arduino e fesoʻotaʻi ma masini e faʻaaoga ai a latou faletusi, lea e mafai ai ona faitau faʻamatalaga faʻamatalaga ma seti faʻasologa eseese o masini. Ona lolomi lea o fa'amatalaga fa'amau i luga o le uafu fa'asologa. O loʻo faʻaaogaina le LED e faʻaalia ai o loʻo faia e le matagaluega se mea. O lona uiga e emo le LED i taimi uma e fa'atino ai le galuega fa'aoga, e ta'u mai ai o lo'o fa'agaoioia e le code le faitau aofa'i.
Fa'amatalaga Galuega
O le code o le mea sili lea e fa'avae ai galuega a le matagaluega. O lea, ia tatou malamalama i le code:.
- Muamua, e aofia ai le tele o faletusi e faʻafesoʻotaʻi ma masini:
- “I2Cdev.h” ma le “MPU6050.h” o faletusi mo le MPU6050 6-axis accelerometer/gyroscope sensor
- "Adafruit_BMP085.h" o se faletusi mo le BMP085 barometric pressure sensor.
- "HMC5883L_Simple.h" o se faletusi mo le HMC5883L magnetometer sensor.
- Ona faia lea o mea faʻavaomalo mo masini e tolu: MPU6050 accelgyro, Adafruit_BMP085 bmp, ma le HMC5883L_Simple Compass.
- O le isi, o loʻo faʻamatalaina ai nisi o fesuiaiga e teu ai mea taua, e pei o le ax, ay, ma le az mo le faʻavavevave o MPU6050 ma faʻaulu mo le magnetometer o le HMC5883L. Ma o loʻo faʻamatalaina ai le LED_PIN tumau ma le fesuiaiga o le blinkState.
- O le seti () galuega e amata ai se fesoʻotaʻiga faʻasologa ma amata fesoʻotaʻiga I2C. Ona amataina lea o masini e tolu:
- O le BMP085 sensor e amataina e ala i le valaʻau i le auala amata (). Afai e toe foʻi mai sese, e faʻaalia ai e le mafai ona maua le masini, e ulufale le polokalame i se matasele e le iʻu ma lolomi se feʻau sese i luga o le laina telefoni.
- O le MPU6050 sensor e amataina e ala i le valaʻau o le initialize() metotia ma siaki pe o loʻo galue saʻo. Ma na setiina le I2C e ala i le faʻaogaina mo MPU6050.
- O le HMC5883L sensor e amataina e ala i le valaʻau i nisi o galuega, e pei o SetDeclination, SetSamplingMode, SetScale, ma SetOrientation, mo le setiina o fetuutuunaiga eseese mo le masini.
- I totonu o le matasele () galuega, e faitau e le code faʻamaumauga mai masini e tolu ma lolomi i luga o le laina telefoni:
- E faitau le vevela, mamafa, maualuga, ma le mamafa i le sami mai le masini.
- E faitau fa'avavevave ma fua gyroscope mai le MPU6050 sensor.
- E faitau le ulutala mai le HMC5883L sensor, o le tulimanu i le va o le itu o loʻo faʻasino ai le masini ma le itu o loʻo taoto ai le maneta i matu.
- Mulimuli ane, e emo le LED e faʻaalia ai le gaioiga ma faʻatali mo sina taimi aʻo leʻi toe faitau le masini.
Pepa / Punaoa
![]() |
ARDUINO GY87 Tu'ufa'atasi Su'ega Su'ega Sketch [pdf] Tusi Taiala GY87 Tu'ufa'atasi Su'ega Su'ega Fa'ata'ita'iga, GY87, Tu'ufa'atasi Su'ega Su'ega Fa'ata'ita'iga, Su'e Su'e Tusi Su'ega, Su'ega Tusi Su'ega |