Përmbajtje:

Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Arduino Nano: 4 Hapa
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Arduino Nano: 4 Hapa

Video: Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Arduino Nano: 4 Hapa

Video: Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Arduino Nano: 4 Hapa
Video: Enkeleida Sherifi Fuqia dhe Rendimenti Fizike 10 2024, Korrik
Anonim
Image
Image

MPU-6000 është një Sensor i Ndjekjes së Lëvizjes me 6 Aks, i cili ka një akselerometër 3-Bosht dhe një xhiroskop 3-Bosht të ngulitur në të. Ky sensor është i aftë të gjurmojë në mënyrë efikase pozicionin dhe vendndodhjen e saktë të një objekti në rrafshin 3-dimensional. Mund të përdoret në sistemet që kërkojnë analiza të pozicionit me saktësinë më të lartë.

Në këtë tutorial është ilustruar ndërfaqja e modulit të sensorit MPU-6000 me arduino nano. Për të lexuar vlerat e nxitimit dhe këndit të rrotullimit, ne kemi përdorur arduino nano me një përshtatës I2c. Ky përshtatës I2C e bën lidhjen me modulin e sensorit të lehtë dhe më të besueshëm.

Hapi 1: Kërkohet harduer:

Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer

Materialet që na duhen për të arritur qëllimin tonë përfshijnë përbërësit e mëposhtëm të harduerit:

1. MPU-6000

2. Arduino Nano

3. Kabllo I2C

4. Mburoja I2C për arduino nano

Hapi 2: Bashkimi i harduerit:

Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit

Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe arduino nano. Sigurimi i lidhjeve të sakta është nevoja themelore gjatë punës në çdo sistem për daljen e dëshiruar. Pra, lidhjet e nevojshme janë si më poshtë:

MPU-6000 do të punojë mbi I2C. Këtu është shembulli i diagramit të instalimeve elektrike, duke demonstruar se si të lidhni secilën ndërfaqe të sensorit.

Jashtë kutisë, bordi është i konfiguruar për një ndërfaqe I2C, si i tillë ne rekomandojmë përdorimin e këtij bashkimi nëse përndryshe jeni agnostik.

Gjithçka që ju nevojitet janë katër tela! Vetëm katër lidhje kërkohen kunjat Vcc, Gnd, SCL dhe SDA dhe këto janë të lidhura me ndihmën e kabllit I2C.

Këto lidhje demonstrohen në fotot e mësipërme.

Hapi 3: Kodi për Ndjekjen e Lëvizjes:

Kodi për Ndjekjen e Lëvizjes
Kodi për Ndjekjen e Lëvizjes

Le të fillojmë me kodin arduino tani.

Ndërsa përdorim modulin e sensorit me arduino, ne përfshijmë bibliotekën Wire.h. Biblioteka "Wire" përmban funksione të cilat lehtësojnë komunikimin i2c midis sensorit dhe bordit arduino.

I gjithë kodi arduino është dhënë më poshtë për lehtësinë e përdoruesit:

#përfshi

// Adresa MPU-6000 I2C është 0x68 (104)

#përcaktoni Addr 0x68

void setup ()

{

// Filloni komunikimin I2C si Master

Wire.begin ();

// Filloni komunikimin serik, vendosur normën e baudit = 9600

Serial.filloj (9600);

// Filloni transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidh regjistrin e konfigurimit të xhiroskopit

Wire.write (0x1B);

// Gama e shkallës së plotë = 2000 dps

Wire.write (0x18);

// Ndaloni transmetimin I2C

Wire.endTransmission ();

// Filloni transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidh regjistrin e konfigurimit të akselerometrit

Wire.write (0x1C);

// Gama e shkallës së plotë = +/- 16g

Wire.write (0x18);

// Ndaloni transmetimin I2C

Wire.endTransmission ();

// Filloni transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni regjistrin e menaxhimit të energjisë

Wire.write (0x6B);

// PLL me referencë xGyro

Wire.write (0x01);

// Ndaloni transmetimin I2C

Wire.endTransmission ();

vonesë (300);

}

lak void ()

{

të dhëna int të panënshkruara [6];

// Filloni transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidh regjistrin e të dhënave

Wire.write (0x3B);

// Ndaloni transmetimin I2C

Wire.endTransmission ();

// Kërkoni 6 bajt të dhëna

Tela. Kërkohet Nga (Addr, 6);

// Lexoni 6 bajt të dhëna

nëse (Wire. në dispozicion () == 6)

{

të dhëna [0] = Wire.read ();

të dhëna [1] = Wire.read ();

të dhëna [2] = Wire.read ();

të dhëna [3] = Wire.read ();

të dhëna [4] = Wire.read ();

të dhëna [5] = Wire.read ();

}

// Shndërroni të dhënat

int xAccl = të dhëna [0] * 256 + të dhëna [1];

int yAccl = të dhëna [2] * 256 + të dhëna [3];

int zAccl = të dhëna [4] * 256 + të dhëna [5];

// Filloni transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidh regjistrin e të dhënave

Wire.write (0x43);

// Ndaloni transmetimin I2C

Wire.endTransmission ();

// Kërkoni 6 bajt të dhëna

Tela. Kërkohet Nga (Addr, 6);

// Lexoni 6 bajt të dhëna

nëse (Wire. në dispozicion () == 6)

{

të dhëna [0] = Wire.read ();

të dhëna [1] = Wire.read ();

të dhëna [2] = Wire.read ();

të dhëna [3] = Wire.read ();

të dhëna [4] = Wire.read ();

të dhëna [5] = Wire.read ();

}

// Shndërroni të dhënat

int xGyro = të dhëna [0] * 256 + të dhëna [1];

int yGyro = të dhëna [2] * 256 + të dhëna [3];

int zGyro = të dhëna [4] * 256 + të dhëna [5];

// Dalja e të dhënave në monitorin serik

Serial.print ("Përshpejtimi në boshtin X:");

Serial.println (xAccl);

Serial.print ("Përshpejtimi në Boshtin Y:");

Serial.println (yAccl);

Serial.print ("Përshpejtimi në Boshtin Z:");

Serial.println (zAccl);

Serial.print ("Boshti X i rrotullimit:");

Serial.println (xGyro);

Serial.print ("Y-Boshti i Rrotullimit:");

Serial.println (yGyro);

Serial.print ("Z-Boshti i Rrotullimit:");

Serial.println (zGyro);

vonesë (500);

}

Në bibliotekën Wire.write () dhe Wire.read () përdoret për të shkruar komandat dhe lexuar daljen e sensorit.

Serial.print () dhe Serial.println () përdoret për të shfaqur daljen e sensorit në monitorin serik të Arduino IDE.

Dalja e sensorit tregohet në figurën e mësipërme.

Hapi 4: Aplikimet:

Aplikimet
Aplikimet

MPU-6000 është një sensor i përcjelljes së lëvizjes, i cili gjen aplikimin e tij në ndërfaqen e lëvizjes së telefonave inteligjentë dhe tabletave. Në telefonat inteligjentë, këta sensorë mund të përdoren në aplikacione të tilla si komandat e gjesteve për aplikacionet dhe kontrollin e telefonit, lojërat e zgjeruara, realiteti i shtuar, kapja dhe shikimi panoramik i fotografive dhe navigimi i këmbësorëve dhe automjeteve. Teknologjia MotionTracking mund të shndërrojë celularët dhe tabletët në pajisje të fuqishme inteligjente 3D që mund të përdoren në aplikacione duke filluar nga monitorimi i shëndetit dhe fitnesit deri tek shërbimet e bazuara në vendndodhje.

Recommended: