Obsah:

Sledovanie pohybu pomocou MPU-6000 a Raspberry Pi: 4 kroky
Sledovanie pohybu pomocou MPU-6000 a Raspberry Pi: 4 kroky

Video: Sledovanie pohybu pomocou MPU-6000 a Raspberry Pi: 4 kroky

Video: Sledovanie pohybu pomocou MPU-6000 a Raspberry Pi: 4 kroky
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Júl
Anonim
Image
Image

MPU-6000 je 6-osý snímač sledovania pohybu, ktorý má v sebe zabudovaný 3-osový akcelerometer a 3-osový gyroskop. Tento senzor je schopný efektívne sledovať presnú polohu a umiestnenie objektu v trojrozmernej rovine. Môže byť použitý v systémoch, ktoré vyžadujú analýzu polohy s najvyššou presnosťou.

V tomto návode je ilustrované prepojenie senzorového modulu MPU-6000 s malinou pi. Na prečítanie hodnôt zrýchlenia a uhla rotácie sme použili malinu pi s adaptérom I2c. Tento adaptér I2C uľahčuje a spoľahlivo pripája modul senzora.

Krok 1: Potrebný hardvér:

Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér

Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:

1. MPU-6000

2. Raspberry Pi

3. Kábel I2C

4. I2C štít pre malinovú pi

5. Ethernetový kábel

Krok 2: Pripojenie hardvéru:

Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru

Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a malinovým pi. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:

MPU-6000 bude fungovať na I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.

Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik.

Všetko, čo potrebujete, sú štyri drôty! Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.

Tieto spojenia sú znázornené na obrázkoch vyššie.

Krok 3: Kód na sledovanie pohybu:

Kód pre sledovanie pohybu
Kód pre sledovanie pohybu

Výhodou použitia raspberry pi je, že vám poskytuje flexibilitu programovacieho jazyka, v ktorom chcete dosku programovať, aby ste s ním mohli prepojiť senzor. S využitím tejto výhody tejto dosky tu demonštrujeme jej programovanie v pythone. Python je jedným z najľahších programovacích jazykov s najľahšou syntaxou. Pythonový kód pre MPU-6000 je možné stiahnuť z našej komunity GitHub, ktorou je Dcube Store

Rovnako ako pre jednoduchosť používateľov, vysvetľujeme kód aj tu:

Ako prvý krok kódovania si musíte stiahnuť knižnicu SMBus v prípade pythonu, pretože táto knižnica podporuje funkcie použité v kóde. Ak si chcete stiahnuť knižnicu, môžete navštíviť nasledujúci odkaz:

pypi.python.org/pypi/smbus-cffi/0.5.1

Pracovný kód môžete skopírovať aj tu:

import smbus

čas importu

# Získajte zbernicu I2C = smbus. SMBus (1)

# Adresa MPU-6000, 0x68 (104)

# Vyberte register konfigurácie gyroskopu, 0x1B (27)

# 0x18 (24) Celý rozsah stupnice = 2000 dps

bus.write_byte_data (0x68, 0x1B, 0x18)

# Adresa MPU-6000, 0x68 (104)

# Vyberte register konfigurácie akcelerometra, 0x1C (28)

# 0x18 (24) Celý rozsah stupnice = +/- 16g

bus.write_byte_data (0x68, 0x1C, 0x18)

# Adresa MPU-6000, 0x68 (104)

# Vyberte register správy napájania1, 0x6B (107)

# 0x01 (01) PLL s referenciou xGyro

bus.write_byte_data (0x68, 0x6B, 0x01)

čas.spánok (0,8)

# Adresa MPU-6000, 0x68 (104)

# Načítajte údaje späť z 0x3B (59), 6 bajtov

# Akcelerometer osi X MSB, os X LSB, os Y MSB, os Y LSB, os Z MSB, os Z LSB

data = bus.read_i2c_block_data (0x68, 0x3B, 6)

# Previesť údaje

xAccl = údaje [0] * 256 + údaje [1]

ak xAccl> 32767:

xAccl -= 65536

yAccl = údaje [2] * 256 + údaje [3]

ak yAccl> 32767:

yAccl -= 65536

zAccl = údaje [4] * 256 + údaje [5]

ak zAccl> 32767:

zAccl -= 65536

# Adresa MPU-6000, 0x68 (104)

# Načítajte údaje späť z 0x43 (67), 6 bytov

# Gyrometer osi X MSB, os X LSB, os Y MSB, os Y LSB, os Z MSB, os Z LSB

data = bus.read_i2c_block_data (0x68, 0x43, 6)

# Previesť údaje

xGyro = údaje [0] * 256 + údaje [1]

ak xGyro> 32767:

xGyro -= 65536

yGyro = údaje [2] * 256 + údaje [3]

ak yGyro> 32767:

yGyro -= 65536

zGyro = údaje [4] * 256 + údaje [5]

ak zGyro> 32767:

zGyro -= 65536

# Výstup údajov na obrazovku

vytlačiť „Zrýchlenie v osi X: %d“%xAccl

vytlačiť "Zrýchlenie v osi Y: %d" %yAccl

vytlačiť "Zrýchlenie v osi Z: %d" %zAccl

vytlačiť "Osa rotácie X: %d" %xGyro

vytlačiť "Osa rotácie Y: %d" %yGyro

vytlačiť "Osa Z rotácie: %d" %zGyro

Kód sa spustí pomocou nasledujúceho príkazu:

$> python MPU-6000.py gt; python MPU-6000.py

Výstup senzora je pre referenciu užívateľa zobrazený na obrázku vyššie.

Krok 4: Aplikácie:

Aplikácie
Aplikácie

MPU-6000 je snímač sledovania pohybu, ktorý nachádza svoje uplatnenie v pohybovom rozhraní smartfónov a tabletov. V smartfónoch je možné tieto senzory použiť v aplikáciách, ako sú gestové príkazy pre aplikácie a ovládanie telefónu, vylepšené hranie hier, rozšírená realita, panoramatické snímanie a prezeranie fotografií a navigácia chodcov a vozidiel. Technológia MotionTracking dokáže konvertovať mobilné telefóny a tablety na výkonné 3D inteligentné zariadenia, ktoré je možné použiť v aplikáciách od monitorovania zdravia a kondície po služby založené na polohe.

Odporúča: