El GY-521 modul To je komponenta koja se široko koristi u projektima koji uključuju mjerenje kretanja i orijentacije, zahvaljujući činjenici da integriše akcelerometar i žiroskop u jednom uređaju. Ova komponenta je svestrana i može se koristiti u projektima sa razvojnim platformama kao što je Arduino, pružajući važne podatke o ubrzanju u tri ose i ugaonoj brzini.
Ovaj članak će vam pružiti sve informacije koje su vam potrebne za razumijevanje i rad s GY-521, od njegovih tehničkih karakteristika do primjera koda koje možete implementirati s Arduinom. Također ćemo vidjeti kako se ovaj modul može povezati na Arduino i koje vrste podataka se mogu izdvojiti i koristiti u vašim projektima.
Šta je GY-521 i kako radi?
Nije pronađen nijedan proizvod.
GY-521 modul je baziran na MPU-6050 senzoru, čipu koji kombinuje troosni akcelerometar sa troosnim žiroskopom. To znači da GY-521 može mjeriti i ubrzanje i ugaonu brzinu u sve tri ose (X, Y i Z).
Akcelerometar Mjeri ubrzanje u tri smjera, što uključuje i ubrzanje zbog kretanja i ubrzanje uzrokovano gravitacijom. To znači da može otkriti ugao pod kojim je uređaj nagnut u odnosu na Zemlju.
Žiroskop, sa svoje strane, mjeri ugaonu ili brzinu rotacije u tri ose. Na taj način možete saznati koliko se brzo nešto vrti i u kom smjeru.
Tehničke karakteristike GY-521

GY-521 se ističe ne samo po integraciji akcelerometra i žiroskopa, već i po nizu tehničkih karakteristika koje ga čine idealnim za projekte robotike, dronove i druge sisteme koji zahtijevaju precizno mjerenje kretanja.
- Voltaje de operación: Može se napajati i na 3.3V i na 5V, zahvaljujući činjenici da ima regulator napona u samom modulu.
- I2C konekcija: Ovaj modul komunicira sa Arduinom ili bilo kojom drugom platformom koristeći I2C sabirnicu, što olakšava povezivanje i kontrolu uređaja.
- Opseg mjerenja akcelerometra: Akcelerometar može mjeriti u podesivom rasponu od ±2g do ±16g, što vam omogućava da prilagodite tačnost prema potrebama projekta.
- Opseg mjerenja žiroskopa: Kao i akcelerometar, žiroskop takođe ima različite podesive opsege, odnosno ±250, ±500, ±1000 ili ±2000 stepeni u sekundi.
Pored ovih karakteristika, GY-521 ima i Digitalni analogni pretvarač (CAD) 16 bita, što osigurava visoku preciznost u konverziji analognih signala sa senzora u digitalne podatke koje može obraditi vaš Arduino.
Povezivanje GY-521 sa Arduinom
Nije pronađen nijedan proizvod.
Povezivanje GY-521 modula na Arduino je vrlo jednostavno zahvaljujući I2C interfejsu. On I2C autobus Koristi dva pina: jedan za signal podataka (SDA) i drugi za signal takta (SCL).
Za povezivanje GY-521 na ploču Arduino UNO:
- Povežite pin VCC od modula do 5V pina Arduina.
- Povežite pin GND od modula do Arduino GND pina.
- Povežite pin SCL za pin A5 Arduina.
- Povežite pin prirodni resursi za pin A4 Arduina.
Nakon što povežete GY-521 na Arduino, možete učitati jednostavan primjer koda da biste počeli čitati podatke sa akcelerometra i žiroskopa.
Primjer koda za čitanje podataka sa GY-521 sa Arduinom
U nastavku vam pokazujemo osnovni primjer koda za početak čitanja podataka koji dolaze s akcelerometra i žiroskopa. Biblioteka se koristi žica.h što olakšava komunikaciju sa I2C uređajima kao što je 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);
}
Ovaj osnovni kod će pročitati podatke o ubrzanju i rotaciji na sve tri ose i prikazati vrednosti na Arduino serijskom monitoru.
Podešavanje skale i osjetljivosti
GY-521 dozvoljava podesite skalu i osjetljivost i akcelerometra i žiroskopa, što je korisno ako želite da dobijete preciznija mjerenja ili za projekte u kojima očekujete da ćete otkriti naglije pokrete.
Da biste promijenili skalu žiroskopa i akcelerometra, morate izmijeniti specifične registre MPU-6050. Evo kako to učiniti:
- Skala akcelerometra: Možete podesiti opseg na ±2g, ±4g, ±8g ili ±16g registracijom ACCEL_CONFIG. Ovisno o vrijednosti upisanoj u ovaj registar, dodjeljuje se željeni opseg.
- Žiroskopska skala: Za žiroskop, opseg se može podesiti između ±250, ±500, ±1000 i ±2000 stepeni u sekundi registracijom GYRO_CONFIG.
Uvođenjem ovih promjena senzor će promijeniti svoju osjetljivost, omogućavajući vam da dobijete preciznije podatke ili otkrijete širi raspon pokreta.
Filtriranje podataka: Dodatni filter
Jedan od izazova pri radu sa senzorima kao što je GY-521 je taj što podaci o ubrzanju i žiroskopu često imaju određeni nivo šuma. Da biste poboljšali kvalitet podataka, možete primijeniti a komplementarni filter koji kombinuje oba senzora kako bi se dobila preciznija procjena orijentacije uređaja.
Komplementarni filter koristi podatke žiroskopa za mjerenje brzih promjena u orijentaciji, dok se podaci akcelerometra koriste za ispravljanje pomaka i postizanje stabilnijeg dugoročnog mjerenja.
GY-521 Aplikacije
Zahvaljujući svojoj sposobnosti mjerenja ubrzanja i kutne brzine, GY-521 se koristi u velikom broju projekata i aplikacija. Neki od najčešćih uključuju:
- Sistemi upravljanja dronom: Informacije koje daju akcelerometar i žiroskop su ključne za održavanje stabilnosti u letu.
- robotika: Neki roboti koriste podatke o ubrzanju i rotaciji za kretanje i otkrivanje promjena u svom okruženju.
- Prijenosni uređaji: Senzori poput GY-521 koriste se u uređajima kao što su fitnes narukvice ili pametni satovi za mjerenje pokreta korisnika.
Ovo je samo nekoliko primjera, ali aplikacije su zaista neograničene kada je u pitanju mjerenje i tumačenje podataka o kretanju i orijentaciji.
Zaključak: Zašto biste trebali odabrati GY-521 za svoje projekte
GY-521, sa svojom integracijom akcelerometra i žiroskopa na jednom čipu, moćan je i svestran alat za bilo koji elektronski projekat. Budući da je kompatibilan sa Arduinom i ima I2C sučelje, zaista ga je lako integrirati u bilo koji sistem. Dodatno, njegova prilagodljivost u osjetljivosti i činjenica da se može implementirati u razne robotike, kontrolu pokreta i više projekata čini ga idealnim izborom za svakog proizvođača ili inženjera u obuci.
Ako tražite pouzdan senzor, jednostavan za korištenje s višestrukim aplikacijama, GY-521 bi definitivno trebao biti na vašoj listi komponenti koje morate imati.