Índice:

Medição de aceleração usando BMA250 e Raspberry Pi: 4 etapas
Medição de aceleração usando BMA250 e Raspberry Pi: 4 etapas

Vídeo: Medição de aceleração usando BMA250 e Raspberry Pi: 4 etapas

Vídeo: Medição de aceleração usando BMA250 e Raspberry Pi: 4 etapas
Vídeo: Essa é a solução para aquele seu vizinho bom de roda! 🤣 2024, Novembro
Anonim
Image
Image

O BMA250 é um acelerômetro de 3 eixos pequeno, fino e ultrabaixo com medição de alta resolução (13 bits) de até ± 16 g. Os dados de saída digital são formatados como complemento de dois de 16 bits e são acessíveis por meio da interface digital I2C. Ele mede a aceleração estática da gravidade em aplicações de detecção de inclinação, bem como a aceleração dinâmica resultante de movimento ou choque. Sua alta resolução (3,9 mg / LSB) permite a medição de mudanças de inclinação inferiores a 1,0 °.

Neste tutorial vamos medir a aceleração em todos os três eixos perpendiculares usando BMA250 e Raspberry Pi. O sensor foi programado em linguagem python.

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. BMA250

2. Raspberry Pi

3. Cabo I2C

4. Escudo I2C para Raspberry 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 BMA250 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 Python para medição de aceleração:

Código Python para medição de aceleração
Código Python para medição de aceleração
Código Python para medição de aceleração
Código Python para medição de aceleração

A vantagem de usar raspberry pi é que oferece 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 BMA250 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 # BMA250, 0x18 (24)

# Selecione o registro de seleção de faixa, 0x0F (15)

# 0x03 (03) Definir intervalo = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# Endereço BMA250, 0x18 (24) # Selecione o registro de largura de banda, 0x10 (16)

# 0x08 (08) Largura de banda = 7,81 Hzbus.write_byte_data (0x18, 0x10, 0x08)

tempo.sono (0,5)

Endereço # BMA250, 0x18 (24)

# Leia os dados de 0x02 (02), 6 bytes

# Eixo X LSB, Eixo X MSB, Eixo Y LSB, Eixo Y MSB, Eixo Z LSB, Eixo Z MSB

data = bus.read_i2c_block_data (0x18, 0x02, 6)

# Converta os dados para 10 bits

xAccl = (dados [1] * 256 + (dados [0] e 0xC0)) / 64

se xAccl> 511:

xAccl - = 1024

yAccl = (dados [3] * 256 + (dados [2] e 0xC0)) / 64

se yAccl> 511:

yAccl - = 1024

zAccl = (dados [5] * 256 + (dados [4] e 0xC0)) / 64

se zAccl> 511:

zAccl - = 1024

# 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

O código é executado usando o seguinte comando:

$> python BMA250.py gt; python BMA250.py

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

Etapa 4: Aplicativos:

Formulários
Formulários

Acelerômetros como o BMA250 encontram sua aplicação principalmente nos jogos e na troca de perfis de exibição. Este módulo sensor também é empregado no sistema de gerenciamento de energia avançado para aplicativos móveis. O BMA250 é um sensor de aceleração digital triaxial incorporado com um controlador inteligente de interrupção acionada por movimento no chip.

Recomendado: