Orodha ya maudhui:

Ufuatiliaji wa Mwendo Kutumia MPU-6000 na Raspberry Pi: Hatua 4
Ufuatiliaji wa Mwendo Kutumia MPU-6000 na Raspberry Pi: Hatua 4

Video: Ufuatiliaji wa Mwendo Kutumia MPU-6000 na Raspberry Pi: Hatua 4

Video: Ufuatiliaji wa Mwendo Kutumia MPU-6000 na Raspberry Pi: Hatua 4
Video: Jifunze kutumia kalenda yako kupanga Uzazi 2024, Novemba
Anonim
Image
Image

MPU-6000 ni Sensor ya Kufuatilia Mwendo wa 6-Axis ambayo ina 3-Axis accelerometer na 3-Axis gyroscope iliyoingia ndani. Sensor hii inauwezo wa ufuatiliaji mzuri wa nafasi halisi na eneo la kitu kwenye ndege ya 3-dimensional. Inaweza kuajiriwa katika mifumo ambayo inahitaji uchambuzi wa msimamo kwa usahihi wa hali ya juu.

Katika mafunzo haya ujumuishaji wa moduli ya sensorer ya MPU-6000 na pi ya rasipberry imeonyeshwa. Ili kusoma maadili ya kuongeza kasi na pembe ya kuzunguka, tumetumia pi ya rasipberry na adapta ya I2c. Adapter hii ya I2C inafanya unganisho kwa moduli ya sensa iwe rahisi na ya kuaminika zaidi.

Hatua ya 1: Vifaa vinahitajika:

Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika

Vifaa ambavyo tunahitaji kutimiza lengo letu ni pamoja na vifaa vifuatavyo vya vifaa:

1. MPU-6000

2. Raspberry Pi

3. Cable ya I2C

4. I2C Shield kwa rasipberry pi

5. Kebo ya Ethernet

Hatua ya 2: Kuunganishwa kwa vifaa:

Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa

Sehemu ya uunganishaji wa vifaa kimsingi inaelezea uunganisho wa wiring unaohitajika kati ya sensorer na pi ya raspberry. Kuhakikisha unganisho sahihi ni hitaji la msingi wakati unafanya kazi kwenye mfumo wowote wa pato unalotaka. Kwa hivyo, viunganisho vinavyohitajika ni kama ifuatavyo.

MPU-6000 itafanya kazi juu ya I2C. Hapa kuna mfano wa mchoro wa wiring, unaonyesha jinsi ya kuweka waya kila kiunganishi cha sensa.

Nje ya sanduku, bodi imesanidiwa kwa kiolesura cha I2C, kwa hivyo tunapendekeza utumie uunganisho huu ikiwa wewe ni agnostic.

Unachohitaji ni waya nne! Viunganisho vinne tu vinahitajika Vcc, Gnd, SCL na SDA pini na hizi zimeunganishwa kwa msaada wa kebo ya I2C.

Uunganisho huu umeonyeshwa kwenye picha hapo juu.

Hatua ya 3: Nambari ya Kufuatilia Mwendo:

Nambari ya Kufuatilia Mwendo
Nambari ya Kufuatilia Mwendo

Faida ya kutumia raspberry pi ni, ambayo hukupa kubadilika kwa lugha ya programu ambayo unataka kupanga bodi ili kusanikisha sensa nayo. Kuunganisha faida hii ya bodi hii, tunaonyesha hapa programu yake katika chatu. Python ni moja wapo ya lugha rahisi za programu na sintaksia rahisi. Nambari ya chatu ya MPU-6000 inaweza kupakuliwa kutoka kwa jamii yetu ya GitHub ambayo ni Duka la Dcube

Pamoja na urahisi wa watumiaji, tunaelezea nambari hapa pia:

Kama hatua ya kwanza ya kuweka alama, unahitaji kupakua maktaba ya SMBus ikiwa kuna chatu kwa sababu maktaba hii inasaidia kazi zinazotumiwa kwenye nambari. Kwa hivyo, kupakua maktaba unaweza kutembelea kiunga kifuatacho:

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

Unaweza kunakili nambari ya kufanya kazi kutoka hapa pia:

kuagiza smbus

muda wa kuagiza

# Pata basi ya I2C = smbus. SMBus (1)

Anwani ya # MPU-6000, 0x68 (104)

# Chagua rejista ya usanidi wa gyroscope, 0x1B (27)

# 0x18 (24) Kiwango kamili cha kiwango = 2000 dps

andika_data ya basi (0x68, 0x1B, 0x18)

Anwani ya # MPU-6000, 0x68 (104)

# Chagua rejista ya usanidi wa kasi, 0x1C (28)

# 0x18 (24) Kiwango kamili cha kiwango = +/- 16g

kuandika. data_byte_data (0x68, 0x1C, 0x18)

Anwani ya # MPU-6000, 0x68 (104)

# Chagua rejista ya usimamizi wa nguvu1, 0x6B (107)

# 0x01 (01) PLL na kumbukumbu ya xGyro

kuandika. data_byte_data (0x68, 0x6B, 0x01)

saa. kulala (0.8)

Anwani ya # MPU-6000, 0x68 (104)

# Soma data nyuma kutoka 0x3B (59), 6 ka

# 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)

# Badilisha data

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

ikiwa xAccl> 32767:

xAccl - = 65536

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

ikiwa yAccl> 32767:

yAccl - = 65536

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

ikiwa zAccl> 32767:

zAccl - = 65536

Anwani ya # MPU-6000, 0x68 (104)

# Soma data nyuma kutoka 0x43 (67), 6 ka

# 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)

# Badilisha data

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

ikiwa xGyro> 32767:

xGyro - = 65536

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

ikiwa yGyro> 32767:

yGyro - = 65536

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

ikiwa zGyro> 32767:

zGyro - = 65536

# Pato data kwa screen

chapisha "Kuongeza kasi katika X-Axis:% d"% xAccl

chapisha "Kuongeza kasi katika Y-Axis:% d"% yAccl

chapisha "Kuongeza kasi katika Z-Axis:% d"% zAccl

chapisha "X-Axis ya Mzunguko:% d"% xGyro

chapisha "Y-Axis ya Mzunguko:% d"% yGyro

chapisha "Z-Axis ya Mzunguko:% d"% zGyro

Nambari hiyo inafanywa kwa kutumia amri ifuatayo:

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

Pato la sensorer linaonyeshwa kwenye picha hapo juu kwa kumbukumbu ya mtumiaji.

Hatua ya 4: Maombi:

Maombi
Maombi

MPU-6000 ni sensorer ya ufuatiliaji wa mwendo, ambayo hupata matumizi yake katika kiolesura cha mwendo cha simu mahiri na vidonge. Katika simu za rununu sensorer hizi zinaweza kuajiriwa katika matumizi kama vile maagizo ya ishara ya matumizi na udhibiti wa simu, michezo ya kubahatisha iliyoboreshwa, ukweli uliodhabitiwa, upigaji picha na kutazama panorama, na utembezaji wa watembea kwa miguu na gari. Teknolojia ya MotionTracking inaweza kubadilisha simu na vidonge kuwa vifaa vyenye nguvu vya akili vya 3D ambavyo vinaweza kutumika katika matumizi kutoka kwa ufuatiliaji wa afya na usawa hadi huduma za msingi wa eneo.

Ilipendekeza: