Índice:

Rastreamento de movimento usando MPU-6000 e Raspberry Pi: 4 etapas
Rastreamento de movimento usando MPU-6000 e Raspberry Pi: 4 etapas

Vídeo: Rastreamento de movimento usando MPU-6000 e Raspberry Pi: 4 etapas

Vídeo: Rastreamento de movimento usando MPU-6000 e Raspberry Pi: 4 etapas
Vídeo: Raspberry PI, Win, Unix Object, камера контроля скорости автомобиля с использованием Python, opencv, веб-камеры, pi-камеры 2024, Julho
Anonim
Image
Image

MPU-6000 é um sensor de rastreamento de movimento de 6 eixos com acelerômetro de 3 eixos e giroscópio de 3 eixos embutidos. Este sensor é capaz de rastrear de forma eficiente a posição e localização exata de um objeto no plano tridimensional. Pode ser empregado em sistemas que requerem análise de posição com a mais alta precisão.

Neste tutorial, a interface do módulo sensor MPU-6000 com raspberry pi foi ilustrada. Para ler os valores de aceleração e ângulo de rotação, usamos o raspberry pi com um adaptador I2c. Este adaptador I2C torna a conexão ao módulo sensor mais fácil e confiável.

Etapa 1: Hardware necessário:

Hardware necessário
Hardware necessário
Hardware necessário
Hardware necessário
Hardware necessário
Hardware necessário

Os materiais de que precisamos para cumprir nosso objetivo incluem os seguintes componentes de hardware:

1. MPU-6000

2. Raspberry Pi

3. Cabo I2C

4. Escudo I2C para framboesa pi

5. Cabo Ethernet

Etapa 2: Conexão de Hardware:

Conexão de hardware
Conexão de hardware
Conexão de hardware
Conexão de hardware

A seção de conexão de hardware explica basicamente as conexões de fiação necessárias entre o sensor e o raspberry pi. Garantir as conexões corretas é a necessidade básica ao trabalhar em qualquer sistema para a saída desejada. Portanto, as conexões necessárias são as seguintes:

O MPU-6000 funcionará em I2C. Aqui está o diagrama de fiação de exemplo, demonstrando como conectar cada interface do sensor.

Fora da caixa, a placa é configurada para uma interface I2C, como tal, recomendamos usar esta conexão se você for agnóstico.

Você só precisa de quatro fios! São necessárias apenas quatro conexões dos pinos Vcc, Gnd, SCL e SDA e estes são conectados com a ajuda do cabo I2C.

Essas conexões são demonstradas nas fotos acima.

Etapa 3: Código para rastreamento de movimento:

Código para rastreamento de movimento
Código para rastreamento de movimento

A vantagem de usar raspberry pi é que proporciona a flexibilidade da linguagem de programação em que se deseja programar a placa para fazer a interface do sensor com ela. Aproveitando essa vantagem desta placa, estamos demonstrando aqui sua programação em python. Python é uma das linguagens de programação mais fáceis com a sintaxe mais fácil. O código python para MPU-6000 pode ser baixado de nossa comunidade GitHub que é Dcube Store

Além da facilidade dos usuários, também explicamos o código aqui:

Como a primeira etapa da codificação, você precisa baixar a biblioteca SMBus no caso do python, porque essa biblioteca oferece suporte às funções usadas no código. Portanto, para baixar a biblioteca você pode visitar o seguinte link:

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

Você também pode copiar o código de trabalho aqui:

import smbus

tempo de importação

# Obtenha busbus I2C = smbus. SMBus (1)

Endereço # MPU-6000, 0x68 (104)

# Selecione o registro de configuração do giroscópio, 0x1B (27)

# 0x18 (24) Faixa de escala total = 2.000 dps

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

Endereço # MPU-6000, 0x68 (104)

# Selecione o registro de configuração do acelerômetro, 0x1C (28)

# 0x18 (24) Faixa de escala total = +/- 16g

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

Endereço # MPU-6000, 0x68 (104)

# Selecione o registro de gerenciamento de energia 1, 0x6B (107)

# 0x01 (01) PLL com referência xGyro

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

tempo.sono (0,8)

Endereço # MPU-6000, 0x68 (104)

# Leia os dados de 0x3B (59), 6 bytes

# Acelerômetro MSB do eixo X, LSB do eixo X, MSB do eixo Y, LSB do eixo Y, MSB do eixo Z, LSB do eixo Z

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

# Converta os dados

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

se xAccl> 32767:

xAccl - = 65536

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

se yAccl> 32767:

yAccl - = 65536

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

se zAccl> 32767:

zAccl - = 65536

Endereço # MPU-6000, 0x68 (104)

# Leia os dados de 0x43 (67), 6 bytes

# Girômetro MSB do eixo X, LSB do eixo X, MSB do eixo Y, LSB do eixo Y, MSB do eixo Z, LSB do eixo Z

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

# Converta os dados

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

se xGyro> 32767:

xGyro - = 65536

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

se yGyro> 32767:

yGyro - = 65536

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

se zGyro> 32767:

zGyro - = 65536

# Dados de saída para a tela

print "Aceleração no eixo X:% d"% xAccl

print "Aceleração no eixo Y:% d"% yAccl

print "Aceleração no eixo Z:% d"% zAccl

imprimir "Eixo X de rotação:% d"% xGyro

imprimir "Eixo Y de rotação:% d"% yGyro

imprimir "Eixo Z de rotação:% d"% zGyro

O código é executado usando o seguinte comando:

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

A saída do sensor é mostrada na imagem acima para referência do usuário.

Etapa 4: Aplicativos:

Formulários
Formulários

MPU-6000 é um sensor de rastreamento de movimento, que encontra sua aplicação na interface de movimento de smartphones e tablets. Em smartphones, esses sensores podem ser empregados em aplicativos como comandos de gestos para aplicativos e controle de telefone, jogos aprimorados, realidade aumentada, captura e visualização de fotos panorâmicas e navegação de pedestres e veículos. A tecnologia MotionTracking pode converter aparelhos e tablets em poderosos dispositivos 3D inteligentes que podem ser usados em aplicações que variam de monitoramento de saúde e condicionamento físico a serviços baseados em localização.

Recomendado: