Talaan ng mga Nilalaman:

Pagsubaybay sa Paggalaw Gamit ang MPU-6000 at Raspberry Pi: 4 na Hakbang
Pagsubaybay sa Paggalaw Gamit ang MPU-6000 at Raspberry Pi: 4 na Hakbang

Video: Pagsubaybay sa Paggalaw Gamit ang MPU-6000 at Raspberry Pi: 4 na Hakbang

Video: Pagsubaybay sa Paggalaw Gamit ang MPU-6000 at Raspberry Pi: 4 na Hakbang
Video: PE 3 || QUARTER 1 WEEK 3 TO WEEK 4 | MELC | PAGSASAGAWA NG HUGIS AT GALAW NG KATAWAN 2024, Nobyembre
Anonim
Image
Image

Ang MPU-6000 ay isang 6-Axis Motion Tracking Sensor na mayroong 3-Axis accelerometer at 3-Axis gyroscope na naka-embed dito. Ang sensor na ito ay may kakayahang mahusay na pagsubaybay ng eksaktong posisyon at lokasyon ng isang bagay sa 3-dimensional na eroplano. Maaari itong magamit sa mga system na nangangailangan ng pagtatasa ng posisyon sa pinakamataas na katumpakan.

Sa tutorial na ito ang paglalagay ng interface ng MPU-6000 sensor module na may raspberry pi ay isinalarawan. Upang mabasa ang mga halaga ng pagpabilis at pag-ikot ng anggulo, ginamit namin ang raspberry pi na may isang I2c adapter. Ginagawa ng I2C adapter na ito ang koneksyon sa module ng sensor na madali at mas maaasahan.

Hakbang 1: Kinakailangan ang Hardware:

Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware

Ang mga materyal na kailangan namin para makamit ang aming layunin ay may kasamang mga sumusunod na bahagi ng hardware:

1. MPU-6000

2. Raspberry Pi

3. I2C Cable

4. I2C Shield para sa raspberry pi

5. Ethernet cable

Hakbang 2: Hardware Hookup:

Hardware Hookup
Hardware Hookup
Hardware Hookup
Hardware Hookup

Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng raspberry pi. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:

Ang MPU-6000 ay gagana sa I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.

Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko.

Ang kailangan mo lang ay apat na wires! Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.

Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.

Hakbang 3: Code para sa Pagsubaybay sa Paggalaw:

Code para sa Pagsubaybay sa Paggalaw
Code para sa Pagsubaybay sa Paggalaw

Ang bentahe ng paggamit ng raspberry pi ay, nagbibigay sa iyo ng kakayahang umangkop ng wika ng programa kung saan nais mong i-program ang board upang ma-interface ang sensor kasama nito. Ginagamit ang kalamangan na ito ng board na ito, ipinapakita namin dito ang programa nito sa sawa. Ang Python ay isa sa pinakamadaling mga wika sa pagprograma na may pinakamadaling syntax. Ang python code para sa MPU-6000 ay maaaring ma-download mula sa aming komunidad sa GitHub na Dcube Store

Pati na rin para sa kadalian ng mga gumagamit, ipinapaliwanag din namin ang code dito:

Bilang unang hakbang ng pag-coding, kailangan mong i-download ang SMBus library sa kaso ng sawa dahil sinusuportahan ng library na ito ang mga pagpapaandar na ginamit sa code. Kaya, upang mai-download ang library maaari mong bisitahin ang sumusunod na link:

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

Maaari mong kopyahin ang nagtatrabaho code mula dito din:

import smbus

oras ng pag-import

# Kumuha ng I2C busbus = smbus. SMBus (1)

# MPU-6000 address, 0x68 (104)

# Piliin ang rehistro ng pagsasaayos ng gyroscope, 0x1B (27)

# 0x18 (24) Buong saklaw na saklaw = 2000 dps

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

# MPU-6000 address, 0x68 (104)

# Piliin ang rehistro ng pagsasaayos ng accelerometer, 0x1C (28)

# 0x18 (24) Buong saklaw na saklaw = +/- 16g

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

# MPU-6000 address, 0x68 (104)

# Piliin ang rehistro ng pamamahala ng kuryente1, 0x6B (107)

# 0x01 (01) PLL na may sanggunian na xGyro

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

oras. tulog (0.8)

# MPU-6000 address, 0x68 (104)

# Basahin ang data pabalik mula sa 0x3B (59), 6 bytes

# Accelerometer X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

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

# I-convert ang data

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

kung xAccl> 32767:

xAccl - = 65536

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

kung yAccl> 32767:

yAccl - = 65536

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

kung zAccl> 32767:

zAccl - = 65536

# MPU-6000 address, 0x68 (104)

# Basahin ang data pabalik mula sa 0x43 (67), 6 bytes

# Gyrometer X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

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

# I-convert ang data

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

kung xGyro> 32767:

xGyro - = 65536

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

kung yGyro> 32767:

yGyro - = 65536

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

kung zGyro> 32767:

zGyro - = 65536

# Data ng output sa screen

i-print ang "Acceleration in X-Axis:% d"% xAccl

i-print ang "Acceleration in Y-Axis:% d"% yAccl

i-print ang "Acceleration in Z-Axis:% d"% zAccl

i-print ang "X-Axis of Rotation:% d"% xGyro

i-print ang "Y-Axis of Rotation:% d"% yGyro

i-print ang "Z-Axis of Rotation:% d"% zGyro

Isinasagawa ang code gamit ang sumusunod na utos:

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

Ang output ng sensor ay ipinapakita sa larawan sa itaas para sa sanggunian ng gumagamit.

Hakbang 4: Mga Aplikasyon:

Mga Aplikasyon
Mga Aplikasyon

Ang MPU-6000 ay isang sensor ng pagsubaybay sa paggalaw, na matatagpuan ang application nito sa interface ng paggalaw ng mga smartphone at tablet. Sa mga smartphone ang mga sensor na ito ay maaaring gamitin sa mga application tulad ng mga kilos na utos para sa mga aplikasyon at kontrol sa telepono, pinahusay na paglalaro, pinalawak na katotohanan, panoramic na pagkuha ng larawan at pagtingin, at pag-navigate sa naglalakad at sasakyan. Ang teknolohiya ng MotionTracking ay maaaring mag-convert ng mga handset at tablet sa malakas na mga 3D na intelihente na aparato na maaaring magamit sa mga aplikasyon mula sa pagsubaybay sa kalusugan at fitness hanggang sa mga serbisyong nakabatay sa lokasyon.

Inirerekumendang: