Kaip naudoti GY-521 modulį su Arduino: Visas vadovas

  • GY-521 sujungia akselerometrą ir giroskopą toje pačioje mikroschemoje.
  • Leidžia reguliuoti skalę, kad gautumėte tikslesnius matavimus.
  • Lengvai prisijungia prie Arduino per I2C sąsają.
  • Tai puikiai tinka dronų, robotų ir nešiojamų įrenginių projektams.

GY-521 Arduino modulis

El GY-521 modulis Tai komponentas, plačiai naudojamas projektuose, kuriuose matuojamas judesys ir orientacija, nes į vieną įrenginį integruotas akselerometras ir giroskopas. Šis komponentas yra universalus ir gali būti naudojamas projektuose su kūrimo platformomis, tokiomis kaip Arduino, teikiant svarbius duomenis apie pagreitį trimis ašimis ir kampinį greitį.

Šiame straipsnyje bus pateikta visa informacija, kurios jums reikia norint suprasti ir dirbti su GY-521, pradedant techninėmis savybėmis ir baigiant kodo pavyzdžiais, kuriuos galite įdiegti naudodami „Arduino“. Taip pat pamatysime, kaip šį modulį galima prijungti prie Arduino ir kokio tipo duomenis galima išgauti ir panaudoti jūsų projektuose.

Kas yra GY-521 ir kaip jis veikia?

GY-521 modulis yra pagrįstas MPU-6050 jutikliu, lustu, kuris sujungia trijų ašių akselerometrą su trijų ašių giroskopu. Tai reiškia, kad GY-521 gali matuoti ir pagreitį, ir kampinį greitį visose trijose ašyse (X, Y ir Z).

Akselerometras Jis matuoja pagreitį trimis kryptimis, įskaitant pagreitį dėl judėjimo ir pagreitį, kurį sukelia gravitacija. Tai reiškia, kad jis gali aptikti kampą, kuriuo įrenginys pasviręs Žemės atžvilgiu.

Giroskopas, savo ruožtu, matuoja kampinį arba sukimosi greitį trijose ašyse. Taip galite sužinoti, kaip greitai kažkas sukasi ir kokia kryptimi.

GY-521 techninės charakteristikos

gy-521 arduino-4

GY-521 išsiskiria ne tik akselerometro ir giroskopo integracija, bet ir daugybe techninių savybių, dėl kurių jis idealiai tinka robotikos projektams, dronams ir kitoms sistemoms, kurioms reikalingas tikslus judesio matavimas.

  • Operacijos įtampa: Jis gali būti maitinamas tiek 3.3 V, tiek 5 V, nes pačiame modulyje yra įtampos reguliatorius.
  • I2C jungtis: Šis modulis bendrauja su Arduino ar bet kuria kita platforma naudodamas I2C magistralę, todėl įrenginį prijungti ir valdyti paprasta.
  • Akselerometro matavimo diapazonas: Pagreičio matuoklis gali matuoti reguliuojamame diapazone nuo ±2g iki ±16g, todėl galite reguliuoti tikslumą pagal projekto poreikius.
  • Giroskopo matavimo diapazonas: Kaip ir akselerometras, giroskopas taip pat turi skirtingus reguliuojamus diapazonus, būtent ±250, ±500, ±1000 arba ±2000 laipsnių per sekundę.

Be šių funkcijų, GY-521 turi a Skaitmeninis analoginis keitiklis (CAD) 16 bitų, o tai užtikrina didelį tikslumą konvertuojant analoginius signalus iš jutiklių į skaitmeninius duomenis, kuriuos gali apdoroti jūsų Arduino.

GY-521 prijungimas prie Arduino

GY-521 modulio prijungimas prie Arduino yra labai paprastas dėl I2C sąsajos. Jis I2C magistralė Jis naudoja du kaiščius: vieną duomenų signalui (SDA) ir kitą laikrodžio signalui (SCL).

Norėdami prijungti GY-521 prie plokštės Arduino UNO:

  • Prijunkite kaištį VCC nuo modulio iki 5 V Arduino kaiščio.
  • Prijunkite kaištį GND nuo modulio iki Arduino GND kaiščio.
  • Prijunkite kaištį LAT prie Arduino A5.
  • Prijunkite kaištį gamtos turtai prie Arduino A4.

Prijungę GY-521 prie Arduino, galite įkelti paprastą kodo pavyzdį, kad pradėtumėte skaityti duomenis iš akselerometro ir giroskopo.

Kodo pavyzdys, skirtas nuskaityti duomenis iš GY-521 su Arduino

Žemiau parodysime pagrindinio kodo pavyzdį, kad pradėtumėte skaityti iš akselerometro ir giroskopo gaunamus duomenis. Biblioteka naudojama Viela.h kuri palengvina ryšį su I2C įrenginiais, tokiais kaip 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 pagrindinis kodas nuskaitys visų trijų ašių pagreičio ir sukimosi duomenis ir rodys reikšmes Arduino serijiniame monitoriuje.

Mastelio ir jautrumo reguliavimas

GY-521 leidžia sureguliuokite skalę ir akselerometro, ir giroskopo jautrumą, kuris yra naudingas, jei norite gauti tikslesnius matavimus arba projektams, kuriuose tikitės aptikti staigesnius judesius.

Norėdami pakeisti giroskopo ir akselerometro skalę, turite pakeisti konkrečius MPU-6050 registrus. Štai kaip tai padaryti:

  • Akselerometro skalė: Užsiregistravę galite reguliuoti diapazoną į ±2g, ±4g, ±8g arba ±16g ACCEL_CONFIG. Atsižvelgiant į į šį registrą įrašytą reikšmę, priskiriamas norimas diapazonas.
  • Giroskopo skalė: Giroskopo diapazoną galima reguliuoti tarp ±250, ±500, ±1000 ir ±2000 laipsnių per sekundę registruojant GYRO_CONFIG.

Atlikus šiuos pakeitimus, jutiklis pakeis savo jautrumą, todėl galėsite gauti tikslesnius duomenis arba aptikti platesnį judesių diapazoną.

Duomenų filtravimas: papildomas filtras

Vienas iš iššūkių dirbant su tokiais jutikliais kaip GY-521 yra tai, kad pagreičio ir giroskopo duomenys dažnai turi tam tikrą triukšmo lygį. Norėdami pagerinti duomenų kokybę, galite taikyti a papildomas filtras kuri sujungia abu jutiklius, kad būtų galima tiksliau įvertinti įrenginio orientaciją.

Papildomas filtras naudoja giroskopo duomenis greitiems orientacijos pokyčiams matuoti, o akselerometro duomenys naudojami dreifui koreguoti ir stabilesniam ilgalaikiam matavimui gauti.

GY-521 Programos

Dėl savo gebėjimo matuoti pagreitį ir kampinį greitį, GY-521 naudojamas įvairiuose projektuose ir pritaikymo srityse. Kai kurie iš labiausiai paplitusių yra:

  • Dronų valdymo sistemos: Akselerometro ir giroskopo teikiama informacija yra labai svarbi norint išlaikyti stabilumą skrydžio metu.
  • Robotika: Kai kurie robotai naudoja pagreičio ir sukimosi duomenis, kad galėtų judėti ir aptikti pokyčius savo aplinkoje.
  • Nešiojami įrenginiai: Jutikliai, tokie kaip GY-521, naudojami tokiuose įrenginiuose kaip kūno rengybos apyrankės ar išmanieji laikrodžiai, kad būtų galima matuoti naudotojo judėjimą.

Tai tik keli pavyzdžiai, tačiau programos yra tikrai neribotos, kai reikia matuoti ir interpretuoti judesio ir orientacijos duomenis.

Išvada: kodėl savo projektams turėtumėte pasirinkti GY-521

GY-521, kurio akselerometras ir giroskopas yra integruoti į vieną lustą, yra galingas ir universalus įrankis bet kokiam elektronikos projektui. Kadangi yra suderinamas su Arduino ir turi I2C sąsają, jį tikrai lengva integruoti į bet kurią sistemą. Be to, dėl jo reguliuojamo jautrumo ir fakto, kad jį galima įdiegti įvairiose robotikos, judesio valdymo ir kituose projektuose, jis yra idealus pasirinkimas bet kuriam besimokančiam gamintojui ar inžinieriui.

Jei ieškote patikimo, lengvai naudojamo jutiklio su keliomis programomis, GY-521 tikrai turėtų būti jūsų būtinų komponentų sąraše.


Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.