Përmbajtje:

Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Raspberry Pi: 4 Hapa
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Raspberry Pi: 4 Hapa
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 pi mjedër. Për të lexuar vlerat e nxitimit dhe këndit të rrotullimit, ne kemi përdorur mjedër pi 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. Raspberry Pi

3. Kabllo I2C

4. Mburoja I2C për pi mjedër

5. Kabllo Ethernet

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 mjedrës pi. 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

Avantazhi i përdorimit të mjedrës pi është, që ju siguron fleksibilitetin e gjuhës programuese në të cilën dëshironi të programoni bordin në mënyrë që të ndërlidhni sensorin me të. Duke shfrytëzuar këtë avantazh të këtij bordi, ne po demonstrojmë këtu programimin e tij në piton. Python është një nga gjuhët më të lehta të programimit me sintaksën më të lehtë. Kodi python për MPU-6000 mund të shkarkohet nga komuniteti ynë GitHub që është Dyqani Dcube

Si dhe për lehtësinë e përdoruesve, ne po shpjegojmë kodin edhe këtu:

Si hapi i parë i kodimit, duhet të shkarkoni bibliotekën SMBus në rast të python sepse kjo bibliotekë mbështet funksionet e përdorura në kod. Pra, për të shkarkuar bibliotekën mund të vizitoni lidhjen e mëposhtme:

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

Kodin e punës mund ta kopjoni edhe këtu:

import smbus

koha e importit

# Merr autobus I2C = smbus. SMBus (1)

Adresa # MPU-6000, 0x68 (104)

# Zgjidh regjistrin e konfigurimit të xhiroskopit, 0x1B (27)

# 0x18 (24) Gama e shkallës së plotë = 2000 dps

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

Adresa # MPU-6000, 0x68 (104)

# Zgjidh regjistrin e konfigurimit të përshpejtuesit, 0x1C (28)

# 0x18 (24) Gama e shkallës së plotë = +/- 16g

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

Adresa # MPU-6000, 0x68 (104)

# Zgjidhni regjistrin e menaxhimit të energjisë1, 0x6B (107)

# 0x01 (01) PLL me referencë xGyro

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

koha. gjumi (0.8)

Adresa # MPU-6000, 0x68 (104)

# Lexoni të dhënat përsëri nga 0x3B (59), 6 bajt

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

të dhëna = bus.read_i2c_block_data (0x68, 0x3B, 6)

# Konvertoni të dhënat

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

nëse xAccl> 32767:

xAccl -= 65536

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

nëse yAccl> 32767:

yAccl -= 65536

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

nëse zAccl> 32767:

zAccl -= 65536

Adresa # MPU-6000, 0x68 (104)

# Lexoni të dhënat mbrapa nga 0x43 (67), 6 bajt

# Xhirometri X-Boshti MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

të dhëna = bus.read_i2c_block_data (0x68, 0x43, 6)

# Konvertoni të dhënat

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

nëse xGyro> 32767:

xGyro -= 65536

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

nëse yGyro> 32767:

yGyro -= 65536

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

nëse zGyro> 32767:

zGyro -= 65536

# Dalja e të dhënave në ekran

print "Përshpejtimi në boshtin X: %d" %xAccl

print "Përshpejtimi në Boshtin Y: %d" %yAccl

print "Përshpejtimi në Boshtin Z: %d" %zAccl

print "X-Boshti i Rrotullimit: %d" %xGyro

shtyp "Y-Boshti i Rrotullimit: %d" %yGyro

print "Z-Boshti i Rrotullimit: %d" %zGyro

Kodi ekzekutohet duke përdorur komandën e mëposhtme:

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

Dalja e sensorit tregohet në figurën e mësipërme për referencë të përdoruesit.

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: