Índice:
- Etapa 1: Hardware necessário:
- Etapa 2: Conexão de Hardware:
- Etapa 3: Código Python para medição de aceleração:
- Etapa 4: Aplicativos:
Vídeo: Medição de aceleração usando H3LIS331DL e Raspberry Pi: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
H3LIS331DL, é um acelerômetro linear de 3 eixos de baixa potência e alto desempenho pertencente à família “nano”, com interface serial digital I²C. O H3LIS331DL possui escalas completas selecionáveis pelo usuário de ± 100g / ± 200g / ± 400g e é capaz de medir acelerações com taxas de dados de saída de 0,5 Hz a 1 kHz. O H3LIS331DL tem garantia de operação em uma faixa de temperatura estendida de -40 ° C a +85 ° C.
Neste tutorial, vamos demonstrar a interface de H3LIS331DL com Raspberry Pi, usando python como linguagem de programação.
Etapa 1: Hardware necessário:
Os materiais de que precisamos para cumprir nosso objetivo incluem os seguintes componentes de hardware:
1. H3LIS331DL
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 H3LIS331DL 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:
A vantagem de usar raspberry pi é que oferece a flexibilidade da linguagem de programação na qual você 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 H3LIS331DL 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 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 # H3LIS331DL, 0x18 (24)
# Selecione o registro de controle 1, 0x20 (32)
# 0x27 (39) Modo LIGADO, taxa de saída de dados = 50 Hz # X, Y, Eixo Z habilitado
bus.write_byte_data (0x18, 0x20, 0x27)
# Endereço H3LIS331DL, 0x18 (24) # Selecione o registro de controle 4, 0x23 (35)
# 0x00 (00) Atualização contínua, seleção de escala total = +/- 100g
bus.write_byte_data (0x18, 0x23, 0x00)
tempo.sono (0,5)
Endereço # H3LIS331DL, 0x18 (24)
# Leia os dados de 0x28 (40), 2 bytes
# X-Axis LSB, X-Axis MSB
data0 = bus.read_byte_data (0x18, 0x28)
data1 = bus.read_byte_data (0x18, 0x29)
# Converta o dataxAccl = data1 * 256 + data0
se xAccl> 32767:
xAccl - = 65536
Endereço # H3LIS331DL, 0x18 (24)
# Leia os dados de 0x2A (42), 2 bytes
# LSB do eixo Y, MSB do eixo Y
data0 = bus.read_byte_data (0x18, 0x2A)
data1 = bus.read_byte_data (0x18, 0x2B)
# Converta os dados
yAccl = dados1 * 256 + dados0
se yAccl> 32767:
yAccl - = 65536
Endereço # H3LIS331DL, 0x18 (24)
# Leia os dados de 0x2C (44), 2 bytes
# LSB do eixo Z, MSB do eixo Z
data0 = bus.read_byte_data (0x18, 0x2C)
data1 = bus.read_byte_data (0x18, 0x2D)
# Converta os dados
zAccl = dados1 * 256 + dados0
se zAccl> 32767:
zAccl - = 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
O código é executado usando o seguinte comando:
$> python H3LIS331DL.py gt; python H3LIS331DL.py
A saída do sensor é mostrada na imagem acima para referência do usuário.
Etapa 4: Aplicativos:
Acelerômetros como o H3LIS331DL 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. H3LIS331DL é um sensor de aceleração digital triaxial que é incorporado com um controlador inteligente de interrupção acionada por movimento no chip.
Recomendado:
Medição de aceleração usando ADXL345 e partícula de fóton: 4 etapas
Medição de aceleração usando ADXL345 e partícula de fóton: O ADXL345 é 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 o
Medição de aceleração usando H3LIS331DL e Arduino Nano: 4 etapas
Medição de aceleração usando H3LIS331DL e Arduino Nano: H3LIS331DL, é um acelerômetro linear de 3 eixos de baixa potência e alto desempenho pertencente à família “nano”, com interface serial digital I²C. H3LIS331DL tem escalas completas selecionáveis pelo usuário de ± 100g / ± 200g / ± 400g e é capaz de medir acelerações w
Medição de aceleração usando H3LIS331DL e fóton de partículas: 4 etapas
Medição de Aceleração Usando H3LIS331DL e Particle Photon: H3LIS331DL, é um acelerômetro linear de 3 eixos de baixa potência e alto desempenho pertencente à família “nano”, com interface serial digital I²C. H3LIS331DL tem escalas completas selecionáveis pelo usuário de ± 100g / ± 200g / ± 400g e é capaz de medir acelerações w
Medição de aceleração usando ADXL345 e Raspberry Pi: 4 etapas
Medição de aceleração usando ADXL345 e Raspberry Pi: O ADXL345 é 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 o
Medição de aceleração usando BMA250 e Raspberry Pi: 4 etapas
Medição de aceleração usando BMA250 e Raspberry Pi: 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 estática