Índice:
- Etapa 1: Hardware necessário:
- Etapa 2: Conexão de Hardware:
- Etapa 3: Código para rastreamento de movimento:
- Etapa 4: Aplicativos:
Vídeo: Rastreamento de movimento usando MPU-6000 e Raspberry Pi: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
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:
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:
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:
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:
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:
Sistema de rastreamento de movimento da cabeça para VR: 8 etapas
Head Motion Tracking System para VR: Meu nome é Sam KODO, neste tutorial, vou ensinar você passo a passo como usar os sensores Arduino IMU para construir um sistema de head tracking para VR. Neste projeto você vai precisar de: - Um LCD Display HDMI : https: //www.amazon.com/Elecrow-Capacitive-interfac…- Um
Rastreamento de movimento do olho humano: 6 etapas
Rastreamento de movimento do olho humano: Este projeto tem como objetivo capturar o movimento do olho humano e exibir seu movimento em um conjunto de luzes LED colocadas na forma de um olho. Este tipo de projeto pode potencialmente ter muitos usos no campo da robótica e, especificamente, huma
Motor em movimento com rastreamento ocular: 8 etapas
Motor em movimento com rastreamento ocular: Atualmente, os sensores de rastreamento ocular são mais comuns em várias áreas, mas comercialmente são mais conhecidos por jogos interativos. Este tutorial não pretende elaborar os sensores por ser muito complexo e devido ao seu uso cada vez mais comum o
QeMotion - rastreamento de movimento para cada fone de ouvido !: 5 etapas (com imagens)
QeMotion - Rastreamento de movimento para todos os fones de ouvido !: Visão geral: este dispositivo permite que você utilize o movimento da cabeça para acionar eventos em basicamente qualquer videogame. Ele funciona rastreando o movimento de sua cabeça (ou fone de ouvido) e acionando pressionamentos de teclado para certos movimentos. Então, seu comp
Rastreamento de movimento ocular usando sensor infravermelho: 5 etapas
Rastreamento de movimento ocular usando sensor infravermelho: usei um sensor infravermelho para detectar os movimentos dos olhos e controlar o LED. Fiz globos oculares com fita LED NeoPixel