Obsah:

Sledování pohybu pomocí MPU-6000 a Raspberry Pi: 4 kroky
Sledování pohybu pomocí MPU-6000 a Raspberry Pi: 4 kroky

Video: Sledování pohybu pomocí MPU-6000 a Raspberry Pi: 4 kroky

Video: Sledování pohybu pomocí MPU-6000 a Raspberry Pi: 4 kroky
Video: Nastya and Watermelon with a fictional story for kids 2024, Červenec
Anonim
Image
Image

MPU-6000 je 6osý snímač sledování pohybu, který má zabudovaný 3osý akcelerometr a 3osý gyroskop. Tento senzor je schopen efektivně sledovat přesnou polohu a umístění objektu v trojrozměrné rovině. Může být použit v systémech, které vyžadují analýzu polohy s nejvyšší přesností.

V tomto tutoriálu bylo ukázáno propojení senzorového modulu MPU-6000 s malinovým pi. Ke čtení hodnot zrychlení a úhlu rotace jsme použili malinu pi s adaptérem I2c. Tento adaptér I2C umožňuje snadné a spolehlivější připojení k modulu senzoru.

Krok 1: Požadovaný hardware:

Požadovaný hardware
Požadovaný hardware
Požadovaný hardware
Požadovaný hardware
Požadovaný hardware
Požadovaný hardware

Materiály, které potřebujeme k dosažení našeho cíle, zahrnují následující hardwarové komponenty:

1. MPU-6000

2. Raspberry Pi

3. Kabel I2C

4. I2C štít pro malinovou pí

5. Ethernetový kabel

Krok 2: Připojení hardwaru:

Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru

Sekce zapojení hardwaru v zásadě vysvětluje zapojení kabelů požadovaná mezi snímačem a malinovým pi. Zajištění správného připojení je základní nutností při práci na jakémkoli systému pro požadovaný výstup. Požadovaná připojení jsou tedy následující:

MPU-6000 bude fungovat přes I2C. Zde je příklad schématu zapojení, které ukazuje, jak zapojit jednotlivá rozhraní senzoru.

Po vybalení je deska nakonfigurována pro rozhraní I2C, proto doporučujeme tuto přípojku použít, pokud jste jinak agnostik.

Vše, co potřebujete, jsou čtyři dráty! Jsou vyžadována pouze čtyři připojení Vcc, Gnd, SCL a SDA piny a ty jsou spojeny pomocí kabelu I2C.

Tato spojení jsou ukázána na obrázcích výše.

Krok 3: Kód pro sledování pohybu:

Kód pro sledování pohybu
Kód pro sledování pohybu

Výhodou použití raspberry pi je, že vám poskytuje flexibilitu programovacího jazyka, ve kterém chcete desku programovat, abyste s ní mohli propojit senzor. S využitím této výhody této desky zde předvádíme její programování v pythonu. Python je jedním z nejjednodušších programovacích jazyků s nejjednodušší syntaxí. Pythonový kód pro MPU-6000 lze stáhnout z naší komunity GitHub, kterou je Dcube Store

Stejně jako pro snadnost uživatelů vysvětlujeme kód také zde:

Jako první krok kódování si musíte stáhnout knihovnu SMBus v případě pythonu, protože tato knihovna podporuje funkce použité v kódu. Chcete -li si stáhnout knihovnu, můžete navštívit následující odkaz:

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

Pracovní kód můžete zkopírovat také zde:

importovat smbus

čas importu

# Získejte sběrnici I2C = smbus. SMBus (1)

# Adresa MPU-6000, 0x68 (104)

# Vyberte registr konfigurace gyroskopu, 0x1B (27)

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

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

# Adresa MPU-6000, 0x68 (104)

# Vyberte registr konfigurace akcelerometru, 0x1C (28)

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

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

# Adresa MPU-6000, 0x68 (104)

# Vyberte registr správy napájení1, 0x6B (107)

# 0x01 (01) PLL s referencí xGyro

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

time.sleep (0,8)

# Adresa MPU-6000, 0x68 (104)

# Přečtěte data zpět z 0x3B (59), 6 bytů

# Akcelerometr osa X MSB, osa X LSB, osa Y MSB, osa Y LSB, osa Z MSB, osa Z LSB

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

# Převeďte data

xAccl = data [0] * 256 + data [1]

pokud xAccl> 32767:

xAccl -= 65536

yAccl = data [2] * 256 + data [3]

pokud yAccl> 32767:

yAccl -= 65536

zAccl = data [4] * 256 + data [5]

pokud zAccl> 32767:

zAccl -= 65536

# Adresa MPU-6000, 0x68 (104)

# Přečtěte data zpět z 0x43 (67), 6 bytů

# Gyrometr osa X MSB, osa X LSB, osa Y MSB, osa Y LSB, osa Z MSB, osa Z LSB

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

# Převeďte data

xGyro = data [0] * 256 + data [1]

pokud xGyro> 32767:

xGyro -= 65536

yGyro = data [2] * 256 + data [3]

pokud yGyro> 32767:

yGyro -= 65536

zGyro = data [4] * 256 + data [5]

pokud zGyro> 32767:

zGyro -= 65536

# Výstup dat na obrazovku

tisk "Zrychlení v ose X: %d" %xAccl

tisk "Zrychlení v ose Y: %d" %yAccl

tisk "Zrychlení v ose Z: %d" %zAccl

tisk "Osa rotace X: %d" %xGyro

tisk "Osa Y rotace: %d" %yGyro

tisk "Osa rotace Z: %d" %zGyro

Kód se spustí pomocí následujícího příkazu:

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

Výstup snímače je uveden na obrázku výše pro referenci uživatele.

Krok 4: Aplikace:

Aplikace
Aplikace

MPU-6000 je senzor pro sledování pohybu, který nachází své uplatnění v pohybovém rozhraní chytrých telefonů a tabletů. V chytrých telefonech lze tyto senzory použít v aplikacích, jako jsou příkazy gest pro aplikace a ovládání telefonu, vylepšené hraní her, rozšířená realita, panoramatické snímání a prohlížení fotografií a navigace chodců a vozidel. Technologie MotionTracking dokáže převést sluchátka a tablety na výkonná 3D inteligentní zařízení, která lze použít v aplikacích od monitorování zdraví a kondice až po služby založené na poloze.

Doporučuje: