Taula de continguts:

Seguiment de moviment mitjançant MPU-6000 i Raspberry Pi: 4 passos
Seguiment de moviment mitjançant MPU-6000 i Raspberry Pi: 4 passos

Vídeo: Seguiment de moviment mitjançant MPU-6000 i Raspberry Pi: 4 passos

Vídeo: Seguiment de moviment mitjançant MPU-6000 i Raspberry Pi: 4 passos
Vídeo: Трекинг Объектов в Capcut На Компьютере // Motion Tracking Capcut 2024, De novembre
Anonim
Image
Image

MPU-6000 és un sensor de seguiment de moviment de 6 eixos que té incrustat un acceleròmetre de 3 eixos i un giroscopi de 3 eixos. Aquest sensor és capaç de fer un seguiment eficient de la posició i ubicació exactes d’un objecte en el pla tridimensional. Es pot utilitzar en sistemes que requereixen una anàlisi de posició amb la màxima precisió.

En aquest tutorial s'ha il·lustrat la interfície del mòdul de sensor MPU-6000 amb raspberry pi. Per llegir els valors de l’acceleració i l’angle de rotació, hem utilitzat raspberry pi amb un adaptador I2c. Aquest adaptador I2C fa que la connexió al mòdul del sensor sigui més fàcil i fiable.

Pas 1: maquinari necessari:

Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari

Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:

1. MPU-6000

2. Raspberry Pi

3. Cable I2C

4. Escut I2C per a gerds pi

5. Cable Ethernet

Pas 2: connexió de maquinari:

Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari

La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i el raspberry pi. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:

El MPU-6000 funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.

Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic.

Tot el que necessiteu són quatre cables. Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.

Aquestes connexions es mostren a les imatges anteriors.

Pas 3: codi per al seguiment de moviment:

Codi per al seguiment de moviment
Codi per al seguiment de moviment

L’avantatge d’utilitzar el raspberry pi és que us proporciona la flexibilitat del llenguatge de programació en què voleu programar la placa per tal d’interfocar el sensor amb ella. Aprofitant aquest avantatge d’aquest tauler, demostrem aquí la seva programació al pitó. Python és un dels llenguatges de programació més fàcils amb una sintaxi més senzilla. El codi python de MPU-6000 es pot descarregar de la nostra comunitat GitHub, que és Dcube Store

A més de la facilitat dels usuaris, aquí també expliquem el codi:

Com a primer pas de codificació, heu de descarregar la biblioteca SMBus en cas de python perquè aquesta biblioteca admet les funcions utilitzades al codi. Per tant, per descarregar la biblioteca podeu visitar el següent enllaç:

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

Podeu copiar el codi de treball des d’aquí també:

importar smbus

temps d'importació

# Obtenir bus I2C = smbus. SMBus (1)

# Adreça MPU-6000, 0x68 (104)

# Seleccioneu el registre de configuració del giroscopi, 0x1B (27)

# 0x18 (24) Rang d'escala completa = 2000 dps

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

# Adreça MPU-6000, 0x68 (104)

# Seleccioneu el registre de configuració de l’acceleròmetre, 0x1C (28)

# 0x18 (24) Rang a escala completa = +/- 16 g

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

# Adreça MPU-6000, 0x68 (104)

# Seleccioneu registre de gestió d'energia1, 0x6B (107)

# 0x01 (01) PLL amb referència xGyro

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

time.sleep (0,8)

# Adreça MPU-6000, 0x68 (104)

# Llegiu les dades de 0x3B (59), 6 bytes

# Acceleròmetre eix X MSB, eix X LSB, eix Y MSB, eix Y LSB, eix Z MSB, eix Z LSB

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

# Converteix les dades

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

si xAccl> 32767:

xAccl - = 65536

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

si yAccl> 32767:

yAccl - = 65536

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

si zAccl> 32767:

zAccl - = 65536

# Adreça MPU-6000, 0x68 (104)

# Llegiu les dades de 0x43 (67), 6 bytes

# Giròmetre Eix X MSB, Eix X LSB, Eix Y MSB, Eix Y LSB, Eix Z MSB, Eix Z LSB

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

# Converteix les dades

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

si xGyro> 32767:

xGyro - = 65536

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

si yGyro> 32767:

yGyro - = 65536

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

si zGyro> 32767:

zGyro - = 65536

# Sortida de dades a la pantalla

imprimir "Acceleració a l'eix X:% d"% xAccl

imprimir "Acceleració a l'eix Y:% d"% yAccl

imprimir "Acceleració a l'eix Z:% d"% zAccl

imprimeix "Eix X de rotació:% d"% xGyro

imprimeix "Eix Y de rotació:% d"% yGyro

imprimeix "Eix Z de rotació:% d"% zGyro

El codi s'executa mitjançant l'ordre següent:

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

La sortida del sensor es mostra a la imatge superior per a la referència de l'usuari.

Pas 4: aplicacions:

Aplicacions
Aplicacions

MPU-6000 és un sensor de seguiment de moviment que troba la seva aplicació a la interfície de moviment de telèfons intel·ligents i tauletes. Als telèfons intel·ligents, aquests sensors es poden utilitzar en aplicacions com ara ordres gestuals per a aplicacions i control de telèfons, jocs millorats, realitat augmentada, captura i visualització de fotos panoràmiques i navegació per a vianants i vehicles. La tecnologia MotionTracking pot convertir telèfons i tauletes en potents dispositius intel·ligents en 3D que es poden utilitzar en aplicacions que van des de la vigilància de la salut i la forma física fins als serveis basats en la ubicació.

Recomanat: