El GY-521 modulis Tas ir komponents, ko plaši izmanto projektos, kas ietver kustības un orientācijas mērīšanu, pateicoties tam, ka tas integrē akselerometru un žiroskopu vienā ierīcē. Šis komponents ir daudzpusīgs, un to var izmantot projektos ar tādām izstrādes platformām kā Arduino, nodrošinot svarīgus datus par paātrinājumu trīs asīs un leņķisko ātrumu.
Šis raksts sniegs jums visu nepieciešamo informāciju, lai saprastu un strādātu ar GY-521, sākot no tā tehniskajām funkcijām līdz koda piemēriem, ko varat ieviest ar Arduino. Mēs arī redzēsim, kā šo moduli var savienot ar Arduino un kāda veida datus var iegūt un izmantot jūsu projektos.
Kas ir GY-521 un kā tas darbojas?
GY-521 modulis ir balstīts uz MPU-6050 sensoru, mikroshēmu, kas apvieno trīs asu akselerometru ar trīs asu žiroskopu. Tas nozīmē, ka GY-521 var izmērīt gan paātrinājumu, gan leņķisko ātrumu visās trīs asīs (X, Y un Z).
Akselerometrs Tas mēra paātrinājumu trīs virzienos, kas ietver gan kustības izraisītu paātrinājumu, gan gravitācijas izraisītu paātrinājumu. Tas nozīmē, ka tā var noteikt leņķi, kādā ierīce ir sasvērta attiecībā pret Zemi.
Žiroskops, savukārt, mēra leņķisko vai rotācijas ātrumu trīs asīs. Tādā veidā var uzzināt, cik ātri kaut kas griežas un kādā virzienā.
GY-521 tehniskie parametri
GY-521 izceļas ne tikai ar akselerometra un žiroskopa integrāciju, bet arī ar virkni tehnisko funkciju, kas padara to ideāli piemērotu robotikas projektiem, droniem un citām sistēmām, kurām nepieciešams precīzs kustības mērījums.
- Darba spriegums: To var darbināt gan ar 3.3V, gan 5V, pateicoties tam, ka tajā pašā modulī ir iekļauts sprieguma regulators.
- I2C savienojums: Šis modulis sazinās ar Arduino vai jebkuru citu platformu, izmantojot I2C kopni, padarot ierīces pievienošanu un vadību vienkāršu.
- Akselerometra mērījumu diapazons: Akselerometrs var mērīt regulējamā diapazonā no ±2g līdz ±16g, ļaujot pielāgot precizitāti atbilstoši projekta vajadzībām.
- Žiroskopa mērījumu diapazons: Tāpat kā akselerometram, arī žiroskopam ir dažādi regulējami diapazoni, proti, ±250, ±500, ±1000 vai ±2000 grādi sekundē.
Papildus šīm funkcijām GY-521 ir a Digitālais analogais pārveidotājs (CAD) 16 biti, kas nodrošina augstu precizitāti analogo signālu pārveidošanā no sensoriem ciparu datos, ko var apstrādāt jūsu Arduino.
GY-521 savienošana ar Arduino
GY-521 moduļa pievienošana Arduino ir ļoti vienkārša, pateicoties I2C interfeisam. Viņš I2C autobuss Tas izmanto divus kontaktus: vienu datu signālam (SDA) un otru pulksteņa signālam (SCL).
Lai savienotu GY-521 ar plati Arduino UNO:
- Pievienojiet tapu VCC no moduļa uz Arduino 5 V tapu.
- Pievienojiet tapu GND no moduļa uz Arduino GND tapu.
- Pievienojiet tapu SCL lai piespraustu Arduino A5.
- Pievienojiet tapu SDA lai piespraustu Arduino A4.
Kad esat pievienojis GY-521 ar Arduino, varat augšupielādēt vienkāršu koda piemēru, lai sāktu nolasīt datus no akselerometra un žiroskopa.
Koda piemērs datu nolasīšanai no GY-521 ar Arduino
Zemāk mēs parādīsim pamata koda piemēru, lai sāktu nolasīt datus, kas nāk no akselerometra un žiroskopa. Bibliotēka tiek izmantota Vads.h kas atvieglo saziņu ar I2C ierīcēm, piemēram, GY-521.
#include
const int MPU = 0x68; // Dirección I2C del MPU-6050.
int16_t accelerometer_x, accelerometer_y, accelerometer_z;
int16_t gyro_x, gyro_y, gyro_z;
int16_t temperature;
void setup() {
Serial.begin(9600);
Wire.begin();
Wire.beginTransmission(MPU);
Wire.write(0x6B); // Registro de gestión de energía del MPU6050.
Wire.write(0); // Coloca a cero para activar el sensor.
Wire.endTransmission(true);
}
void loop() {
Wire.beginTransmission(MPU);
Wire.write(0x3B); // Comienza a leer desde el registro 0x3B (datos de aceleración).
Wire.endTransmission(false);
Wire.requestFrom(MPU, 14, true); // Solicita 14 registros del sensor.
// Leer datos de aceleración:
accelerometer_x = Wire.read() << 8 | Wire.read();
accelerometer_y = Wire.read() << 8 | Wire.read();
accelerometer_z = Wire.read() << 8 | Wire.read();
// Leer datos de giroscopio:
gyro_x = Wire.read() << 8 | Wire.read();
gyro_y = Wire.read() << 8 | Wire.read();
gyro_z = Wire.read() << 8 | Wire.read();
Serial.print("Acc: X="); Serial.print(accelerometer_x);
Serial.print(" | Y="); Serial.print(accelerometer_y);
Serial.print(" | Z="); Serial.println(accelerometer_z);
Serial.print("Gyro: X="); Serial.print(gyro_x);
Serial.print(" | Y="); Serial.print(gyro_y);
Serial.print(" | Z="); Serial.println(gyro_z);
delay(500);
}
Šis pamata kods nolasīs paātrinājuma un rotācijas datus uz visām trim asīm un parādīs vērtības Arduino sērijas monitorā.
Mēroga un jutības regulēšana
GY-521 ļauj noregulējiet skalu un gan akselerometra, gan žiroskopa jutība, kas ir noderīga, ja vēlaties iegūt precīzākus mērījumus vai projektiem, kuros plānojat noteikt straujākas kustības.
Lai mainītu žiroskopa un akselerometra skalu, jums ir jāmaina konkrētie MPU-6050 reģistri. Lūk, kā to izdarīt:
- Akselerometra skala: Jūs varat pielāgot diapazonu uz ±2g, ±4g, ±8g vai ±16g, reģistrējoties ACCEL_CONFIG. Atkarībā no šajā reģistrā ierakstītās vērtības tiek piešķirts vēlamais diapazons.
- Žiroskopa skala: Žiroskopam diapazonu var noregulēt no ±250, ±500, ±1000 un ±2000 grādiem sekundē, reģistrējoties GYRO_CONFIG.
Veicot šīs izmaiņas, sensors mainīs savu jutību, ļaujot iegūt precīzākus datus vai noteikt plašāku kustību diapazonu.
Datu filtrēšana: papildu filtrs
Viens no izaicinājumiem, strādājot ar sensoriem, piemēram, GY-521, ir tas, ka paātrinājuma un žiroskopa datiem bieži ir noteikts trokšņa līmenis. Lai uzlabotu datu kvalitāti, varat piemērot a papildu filtrs kas apvieno abus sensorus, lai iegūtu precīzāku ierīces orientācijas novērtējumu.
Papildu filtrs izmanto žiroskopa datus, lai izmērītu straujas orientācijas izmaiņas, savukārt akselerometra datus izmanto, lai koriģētu novirzi un iegūtu stabilāku ilgtermiņa mērījumu.
GY-521 Pieteikumi
Pateicoties tā spējai izmērīt paātrinājumu un leņķisko ātrumu, GY-521 tiek izmantots visdažādākajos projektos un lietojumos. Daži no visizplatītākajiem ietver:
- Dronu vadības sistēmas: Akselerometra un žiroskopa sniegtā informācija ir būtiska, lai saglabātu stabilitāti lidojuma laikā.
- Robotika: Daži roboti izmanto paātrinājuma un rotācijas datus, lai pārvietotos un noteiktu izmaiņas savā vidē.
- Pārnēsājamas ierīces: Sensori, piemēram, GY-521, tiek izmantoti tādās ierīcēs kā fitnesa siksnas vai viedpulksteņi, lai izmērītu lietotāja kustības.
Šie ir tikai daži piemēri, taču lietojumprogrammas ir patiesi neierobežotas, ja runa ir par kustības un orientācijas datu mērīšanu un interpretāciju.
Secinājums: kāpēc jums vajadzētu izvēlēties GY-521 saviem projektiem
GY-521 ar akselerometra un žiroskopa integrāciju vienā mikroshēmā ir jaudīgs un daudzpusīgs rīks jebkuram elektronikas projektam. Tā kā tas ir saderīgs ar Arduino un tam ir I2C interfeiss, to ir patiešām viegli integrēt jebkurā sistēmā. Turklāt tā pielāgojamība jutības ziņā un fakts, ka to var ieviest dažādās robotikā, kustību kontrolē un citos projektos, padara to par ideālu izvēli jebkuram apmācībā esošajam izgatavotājam vai inženierim.
Ja meklējat uzticamu, viegli lietojamu sensoru ar vairākiem lietojumiem, GY-521 noteikti ir jāiekļauj jūsu obligāto komponentu sarakstā.