El GY-521 moodul See on komponent, mida kasutatakse laialdaselt projektides, mis hõlmavad liikumise ja orientatsiooni mõõtmist, tänu sellele, et see integreerib kiirendusmõõturi ja güroskoopi ühte seadmesse. See komponent on mitmekülgne ja seda saab kasutada arendusplatvormidega nagu Arduino projektides, pakkudes olulisi andmeid kolme telje kiirenduse ja nurkkiiruse kohta.
See artikkel annab teile kogu teabe, mida vajate GY-521 mõistmiseks ja sellega töötamiseks, alates selle kõige tehnilistest funktsioonidest kuni koodinäideteni, mida saate Arduinoga rakendada. Samuti näeme, kuidas saab seda moodulit Arduinoga ühendada ning mis tüüpi andmeid saab ekstraheerida ja oma projektides kasutada.
Mis on GY-521 ja kuidas see töötab?
Moodul GY-521 põhineb anduril MPU-6050, kiibil, mis ühendab kolmeteljelise kiirendusmõõturi kolmeteljelise güroskoobiga. See tähendab, et GY-521 suudab mõõta nii kiirendust kui ka nurkkiirust kõigil kolmel teljel (X, Y ja Z).
Kiirendusmõõtur See mõõdab kiirendust kolmes suunas, mis hõlmab nii liikumisest tulenevat kiirendust kui ka gravitatsioonist tingitud kiirendust. See tähendab, et see suudab tuvastada nurga, mille all seade on Maa suhtes kallutatud.
Güroskoop, mõõdab omakorda nurk- või pöörlemiskiirust kolmel teljel. Nii saad teada, kui kiiresti miski pöörleb ja mis suunas.
GY-521 tehnilised omadused
GY-521 paistab silma mitte ainult kiirendusmõõturi ja güroskoobi integreerimise poolest, vaid ka mitmete tehniliste omaduste poolest, mis muudavad selle ideaalseks robootikaprojektide, droonide ja muude süsteemide jaoks, mis nõuavad liikumise täpset mõõtmist.
- Tööpinge: Seda saab toita nii 3.3 V kui ka 5 V pingega, tänu sellele, et see sisaldab moodulis endas pingeregulaatorit.
- I2C ühendus: See moodul suhtleb Arduino või mõne muu platvormiga, kasutades I2C siini, muutes seadme ühendamise ja juhtimise lihtsaks.
- Kiirendusmõõturi mõõtmisvahemik: Kiirendusmõõtur suudab mõõta reguleeritavas vahemikus ±2g kuni ±16g, võimaldades teil reguleerida täpsust vastavalt projekti vajadustele.
- Güroskoobi mõõtmisulatus: Sarnaselt kiirendusmõõturile on ka güroskoopil erinevad reguleeritavad vahemikud, nimelt ±250, ±500, ±1000 või ±2000 kraadi sekundis.
Lisaks nendele funktsioonidele on GY-521-l a Digitaalne analoogmuundur (CAD) 16 bitti, mis tagab suure täpsuse anduritelt tulevate analoogsignaalide teisendamiseks digitaalseteks andmeteks, mida teie Arduino saab töödelda.
GY-521 ühendamine Arduinoga
Mooduli GY-521 ühendamine Arduinoga on tänu I2C liidesele väga lihtne. Tema I2C buss See kasutab kahte kontakti: ühte andmesignaali (SDA) ja teist kellasignaali (SCL) jaoks.
GY-521 ühendamiseks tahvliga Arduino UNO:
- Ühendage tihvt VCC moodulist Arduino 5V viiguni.
- Ühendage tihvt GND moodulist Arduino GND tihvti.
- Ühendage tihvt SCL Arduino A5 kinnitamiseks.
- Ühendage tihvt SDA Arduino A4 kinnitamiseks.
Kui olete GY-521 Arduinoga ühendanud, saate kiirendusmõõturi ja güroskoobi andmete lugemise alustamiseks üles laadida lihtsa koodinäite.
Koodinäide andmete lugemiseks GY-521-st koos Arduinoga
Allpool näitame teile põhikoodi näidet, et alustada kiirendusmõõturi ja güroskoopi andmete lugemist. Raamatukogu kasutatakse Traat.h mis hõlbustab suhtlemist I2C seadmetega nagu 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);
}
See põhikood loeb kiirendus- ja pöörlemisandmeid kõigil kolmel teljel ning kuvab väärtused Arduino jadamonitoril.
Skaala ja tundlikkuse reguleerimine
GY-521 võimaldab reguleerige skaalat ja nii kiirendusmõõturi kui ka güroskoobi tundlikkus, mis on kasulik, kui soovite saada täpsemaid mõõtmisi või projektide puhul, mille puhul loodate tuvastada järsemaid liikumisi.
Güroskoobi ja kiirendusmõõturi skaala muutmiseks peate muutma MPU-6050 spetsiifilisi registreid. Seda saab teha järgmiselt.
- Kiirendusmõõturi skaala: Saate registreerimisel reguleerida vahemikku ±2g, ±4g, ±8g või ±16g ACCEL_CONFIG. Sõltuvalt sellesse registrisse kirjutatud väärtusest määratakse soovitud vahemik.
- Güroskoopi skaala: Güroskoobi puhul saab vahemikku reguleerida vahemikus ±250, ±500, ±1000 kuni ±2000 kraadi sekundis, registreerides GYRO_CONFIG.
Neid muudatusi tehes muudab andur oma tundlikkust, mis võimaldab teil saada täpsemaid andmeid või tuvastada laiemat liikumisulatust.
Andmete filtreerimine: täiendav filter
Üks väljakutseid selliste anduritega nagu GY-521 töötamisel on see, et kiirenduse ja güroskoobi andmetel on tavaliselt teatud müratase. Andmekvaliteedi parandamiseks võite rakendada a täiendav filter mis ühendab mõlemad andurid, et saada seadme orientatsiooni täpsem hinnang.
Täiendav filter kasutab güroskoobi andmeid, et mõõta orientatsiooni kiireid muutusi, samas kui kiirendusmõõturi andmeid kasutatakse triivi korrigeerimiseks ja stabiilsema pikaajalise mõõtmise saamiseks.
GY-521 Rakendused
Tänu võimele mõõta kiirendust ja nurkkiirust kasutatakse GY-521 paljudes projektides ja rakendustes. Mõned levinumad on järgmised:
- Droonide juhtimissüsteemid: Kiirendusmõõturi ja güroskoopi pakutav teave on stabiilsuse säilitamisel lennu ajal võtmetähtsusega.
- Robootika: Mõned robotid kasutavad oma keskkonnas liikumiseks ja muutuste tuvastamiseks kiirendus- ja pöörlemisandmeid.
- Kaasaskantavad seadmed: Andureid, nagu GY-521, kasutatakse kasutaja liikumise mõõtmiseks sellistes seadmetes nagu treeningrihmad või nutikellad.
Need on vaid mõned näited, kuid rakendused on liikumis- ja orientatsiooniandmete mõõtmisel ja tõlgendamisel tõeliselt piiramatud.
Järeldus: miks peaksite oma projektide jaoks valima GY-521
Ühele kiibile integreeritud kiirendusmõõturi ja güroskoobiga GY-521 on võimas ja mitmekülgne tööriist iga elektroonikaprojekti jaoks. Kuna see ühildub Arduinoga ja millel on I2C liides, on seda tõesti lihtne igasse süsteemi integreerida. Lisaks muudab selle reguleeritavus tundlikkuse osas ja asjaolu, et seda saab rakendada mitmesugustes robootikas, liikumisjuhtimises ja muudes projektides, ideaalseks valikuks igale treenivale tegijale või insenerile.
Kui otsite usaldusväärset ja hõlpsasti kasutatavat andurit, millel on mitu rakendust, peaks GY-521 kindlasti olema teie kohustuslike komponentide loendis.