El Modul GY-521 Je to součást široce používaná v projektech, které zahrnují měření pohybu a orientace, a to díky tomu, že integruje akcelerometr a gyroskop v jediném zařízení. Tato komponenta je všestranná a lze ji použít v projektech s vývojovými platformami, jako je Arduino, poskytující důležitá data o zrychlení ve třech osách a úhlové rychlosti.
Tento článek vám poskytne všechny informace, které potřebujete k pochopení a práci s GY-521, od jeho nejtechničtějších funkcí až po příklady kódu, které můžete implementovat pomocí Arduina. Také uvidíme, jak lze tento modul připojit k Arduinu a jaký typ dat lze extrahovat a použít ve vašich projektech.
Co je GY-521 a jak funguje?
Modul GY-521 je založen na senzoru MPU-6050, čipu, který kombinuje tříosý akcelerometr s tříosým gyroskopem. To znamená, že GY-521 může měřit jak zrychlení, tak úhlovou rychlost ve všech třech osách (X, Y a Z).
Akcelerometr Měří zrychlení ve třech směrech, což zahrnuje jak zrychlení způsobené pohybem, tak zrychlení způsobené gravitací. To znamená, že dokáže detekovat úhel, pod kterým je zařízení nakloněno vzhledem k Zemi.
Gyroskop, zase měří úhlovou nebo rotační rychlost ve třech osách. Můžete tak zjistit, jak rychle se něco točí a jakým směrem.
Technické vlastnosti GY-521
GY-521 vyniká nejen integrací akcelerometru a gyroskopu, ale také řadou technických funkcí, díky kterým je ideální pro robotické projekty, drony a další systémy, které vyžadují přesné měření pohybu.
- Voltaje operace: Lze jej napájet jak 3.3V, tak 5V, díky tomu, že obsahuje regulátor napětí v samotném modulu.
- I2C připojení: Tento modul komunikuje s Arduinem nebo jakoukoli jinou platformou pomocí sběrnice I2C, což usnadňuje připojení a ovládání zařízení.
- Rozsah měření akcelerometru: Akcelerometr může měřit v nastavitelném rozsahu od ±2 g do ±16 g, což vám umožňuje upravit přesnost podle potřeb projektu.
- Rozsah měření gyroskopu: Stejně jako akcelerometr má i gyroskop různé nastavitelné rozsahy, konkrétně ±250, ±500, ±1000 nebo ±2000 stupňů za sekundu.
Kromě těchto funkcí má GY-521 a Digitální analogový převodník (CAD) 16 bitů, což zajišťuje vysokou přesnost při převodu analogových signálů ze senzorů na digitální data, která může zpracovat vaše Arduino.
Propojení GY-521 s Arduinem
Připojení modulu GY-521 k Arduinu je velmi jednoduché díky rozhraní I2C. On I2C autobus Používá dva piny: jeden pro datový signál (SDA) a druhý pro hodinový signál (SCL).
Pro připojení GY-521 k desce Arduino UNO:
- Připojte kolík VCC z modulu na 5V pin Arduina.
- Připojte kolík GND z modulu na pin Arduino GND.
- Připojte kolík SCL na pin A5 Arduina.
- Připojte kolík SDA na pin A4 Arduina.
Jakmile připojíte GY-521 k Arduinu, můžete nahrát jednoduchý příklad kódu a začít číst data z akcelerometru a gyroskopu.
Příklad kódu pro čtení dat z GY-521 s Arduinem
Níže vám ukážeme základní příklad kódu pro zahájení čtení dat přicházejících z akcelerometru a gyroskopu. Knihovna je používána drát.h který usnadňuje komunikaci s I2C zařízeními, jako 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);
}
Tento základní kód načte data zrychlení a rotace na všech třech osách a zobrazí hodnoty na sériovém monitoru Arduino.
Nastavení měřítka a citlivosti
GY-521 umožňuje upravit měřítko a citlivost jak akcelerometru, tak gyroskopu, což je užitečné, pokud chcete získat přesnější měření nebo pro projekty, ve kterých očekáváte detekci prudších pohybů.
Chcete-li změnit měřítko gyroskopu a akcelerometru, musíte upravit specifické registry MPU-6050. Postupujte takto:
- Stupnice akcelerometru: Rozsah můžete upravit na ±2g, ±4g, ±8g nebo ±16g registrací ACCEL_CONFIG. V závislosti na hodnotě zapsané do tohoto registru je přiřazen požadovaný rozsah.
- Stupnice gyroskopu: U gyroskopu lze nastavit rozsah mezi ±250, ±500, ±1000 a ±2000 stupňů za sekundu registrací GYRO_CONFIG.
Provedením těchto změn senzor změní svou citlivost, což vám umožní získat přesnější data nebo detekovat širší rozsah pohybu.
Filtrování dat: Doplňkový filtr
Jedním z problémů při práci se senzory, jako je GY-521, je to, že data zrychlení a gyroskopu mají obvykle určitou úroveň šumu. Chcete-li zlepšit kvalitu dat, můžete použít a doplňkový filtr který kombinuje oba senzory pro získání přesnějšího odhadu orientace zařízení.
Doplňkový filtr používá data gyroskopu k měření rychlých změn orientace, zatímco data akcelerometru se používají ke korekci driftu a získání stabilnějšího dlouhodobého měření.
Aplikace GY-521
Díky své schopnosti měřit zrychlení a úhlovou rychlost se GY-521 používá v široké řadě projektů a aplikací. Mezi nejběžnější patří:
- Systémy ovládání dronů: Informace poskytované akcelerometrem a gyroskopem jsou klíčové pro udržení stability za letu.
- Robotika: Někteří roboti používají data zrychlení a rotace k pohybu a detekci změn ve svém prostředí.
- Přenosná zařízení: Senzory jako GY-521 se používají v zařízeních, jako jsou fitness náramky nebo chytré hodinky, k měření pohybu uživatele.
Toto je jen několik příkladů, ale aplikace jsou skutečně neomezené, pokud jde o měření a interpretaci dat o pohybu a orientaci.
Závěr: Proč byste si pro své projekty měli vybrat GY-521
GY-521 s integrací akcelerometru a gyroskopu na jediném čipu je výkonným a všestranným nástrojem pro jakýkoli elektronický projekt. Protože je kompatibilní s Arduino a má rozhraní I2C, je opravdu snadné jej integrovat do jakéhokoli systému. Navíc jeho nastavitelnost z hlediska citlivosti a skutečnost, že jej lze implementovat do různých robotických systémů, řízení pohybu a dalších projektů, z něj činí ideální volbu pro každého výrobce nebo inženýra ve školení.
Pokud hledáte spolehlivý, snadno použitelný senzor s více aplikacemi, GY-521 by rozhodně měl být na vašem seznamu komponent, které musíte mít.