Jak používat modul GY-521 s Arduino: Kompletní průvodce

  • GY-521 kombinuje akcelerometr a gyroskop na stejném čipu.
  • Umožňuje upravit měřítko pro získání přesnějších měření.
  • Snadno se připojuje k Arduinu přes rozhraní I2C.
  • Je ideální pro projekty dronů, robotiky a nositelných zařízení.

Modul Arduino GY-521

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 arduino-4

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.


Začněte konverzaci

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.