Índice:
- Etapa 1: Hardware necessário:
- Etapa 2: Conexão de Hardware:
- Etapa 3: Código para medição de aceleração:
- Etapa 4: Aplicativos:
Vídeo: Medição de aceleração usando H3LIS331DL e fóton de partículas: 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 do H3LIS331DL com o fóton da partícula.
Etapa 1: Hardware necessário:
Os materiais de que precisamos para cumprir nosso objetivo incluem os seguintes componentes de hardware:
1. H3LIS331DL
2. Partícula de fóton
3. Cabo I2C
4. Escudo I2C para partícula de fóton
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 fóton da partícula. 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 para medição de aceleração:
Vamos começar com o código da partícula agora.
Ao usar o módulo sensor com o arduino, incluímos as bibliotecas application.h e spark_wiring_i2c.h. A biblioteca "application.h" e spark_wiring_i2c.h contém as funções que facilitam a comunicação i2c entre o sensor e a partícula.
Todo o código da partícula é fornecido abaixo para a conveniência do usuário:
#incluir
#incluir
// O endereço H3LIS331DL I2C é 0x18 (24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
void setup ()
{
// Definir variável
Particle.variable ("i2cdevice", "H3LIS331DL");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// Inicializar a comunicação I2C como MASTER
Wire.begin ();
// Inicialize a comunicação serial, defina a taxa de transmissão = 9600
Serial.begin (9600);
// Iniciar a transmissão I2C
Wire.beginTransmission (Addr);
// Selecione o registro de controle 1
Wire.write (0x20);
// Habilita os eixos X, Y, Z, modo ligado, taxa de saída de dados 50 Hz
Wire.write (0x27);
// Pare a transmissão I2C
Wire.endTransmission ();
// Iniciar a transmissão I2C
Wire.beginTransmission (Addr);
// Selecione o registro de controle 4
Wire.write (0x23);
// Definir escala completa, +/- 100g, atualização contínua
Wire.write (0x00);
// Pare a transmissão I2C
Wire.endTransmission ();
atraso (300);
}
void loop ()
{
dados internos não assinados [6];
para (int i = 0; i <6; i ++)
{
// Iniciar a transmissão I2C
Wire.beginTransmission (Addr);
// Selecione o registro de dados
Wire.write ((40 + i));
// Pare a transmissão I2C
Wire.endTransmission ();
// Solicitar 1 byte de dados
Wire.requestFrom (Addr, 1);
// Leia 6 bytes de dados
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if (Wire.available () == 1)
{
dados = Wire.read ();
}
atraso (300);
}
// Converta os dados
int xAccl = ((dados [1] * 256) + dados [0]);
if (xAccl> 32767)
{
xAccl - = 65536;
}
int yAccl = ((dados [3] * 256) + dados [2]);
if (yAccl> 32767)
{
yAccl - = 65536;
}
int zAccl = ((dados [5] * 256) + dados [4]);
if (zAccl> 32767)
{
zAccl - = 65536;
}
// Saída de dados para o painel
Particle.publish ("Aceleração no eixo X é:", String (xAccl));
Particle.publish ("Aceleração no eixo Y é:", String (yAccl));
Particle.publish ("Aceleração no eixo Z é:", String (zAccl));
atraso (300);
}
A função Particle.variable () cria as variáveis para armazenar a saída do sensor e a função Particle.publish () exibe a saída no painel do site.
A saída do sensor é mostrada na imagem acima para sua referência.
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 Raspberry Pi: 4 etapas
Medição de aceleração usando H3LIS331DL e Raspberry Pi: 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 temperatura usando MCP9803 e fóton de partículas: 4 etapas
Medição de temperatura usando MCP9803 e partícula de fóton: MCP9803 é um sensor de temperatura de alta precisão de 2 fios. Eles são incorporados a registros programáveis pelo usuário que facilitam as aplicações de detecção de temperatura. Este sensor é adequado para um sistema de monitoramento de temperatura multi-zona altamente sofisticado
Medição de aceleração usando BMA250 e partícula de fóton: 4 etapas
Medição de aceleração usando o BMA250 e o fóton de partículas: 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