Índice:
- Etapa 1: Hardware necessário:
- Etapa 2: Conexão de Hardware:
- Etapa 3: Código Java para medir a intensidade do campo magnético:
- Etapa 4: Aplicativos:
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
O HMC5883 é uma bússola digital projetada para detecção magnética de baixo campo. Este dispositivo possui uma ampla faixa de campo magnético de +/- 8 Oe e uma taxa de saída de 160 Hz. O sensor HMC5883 inclui drivers de tira de desmagnetização automática, cancelamento de deslocamento e um ADC de 12 bits que permite a precisão do rumo da bússola de 1 ° a 2 °. Todos os Mini Módulos I²C são projetados para operar a 5 VCC.
Neste tutorial, vamos explicar o funcionamento detalhado de HMC5883 com Raspberry pi e sua programação usando a linguagem de programação java.
Etapa 1: Hardware necessário:
O hardware necessário para realizar a tarefa é o seguinte:
1. HMC5883
2. Raspberry Pi
3. Cabo I2C
4. Escudo I2C para Raspberry 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 HMC5883 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 Java para medir a intensidade do campo magnético:
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 Java. O código java para HMC5883 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 pi4j no caso do java, porque esta biblioteca suporta as funções usadas no código. Portanto, para baixar a biblioteca você pode visitar o seguinte link:
pi4j.com/install.html
Você também pode copiar o código Java de trabalho para este sensor aqui:
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
importar java.io. IOException; classe pública HMC5883
{
public static void main (String args ) lança exceção
{
// Criar barramento I2C
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Obter dispositivo I2C, endereço HMC5883 I2C é 0x1E (30)
Dispositivo I2CDevice = Bus.getDevice (0x1E);
// Selecione o registro de configuração A
// Configuração de medição normal, taxa de dados o / p = 0,75 Hz
device.write (0x00, (byte) 0x60);
// Selecione o modo de registro
// Modo de medição contínua
device.write (0x02, (byte) 0x00);
Thread.sleep (500);
// Lê 6 bytes de dados de 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = novo byte [6];
device.read (0x03, data, 0, 6);
// Converta os dados
int xMag = ((dados [0] e 0xFF) * 256 + (dados [1] e 0xFF));
if (xMag> 32767)
{
xMag - = 65536;
}
int zMag = ((dados [2] e 0xFF) * 256 + (dados [3] e 0xFF));
if (zMag> 32767)
{
zMag - = 65536;
}
int yMag = ((dados [4] e 0xFF) * 256 + (dados [5] e 0xFF));
if (yMag> 32767)
{
yMag - = 65536;
}
// Dados de saída para a tela
System.out.printf ("Campo magnético no eixo X:% d% n", xMag);
System.out.printf ("Campo magnético no eixo Y:% d% n", yMag);
System.out.printf ("Campo magnético no eixo Z:% d% n", zMag);
}
}
As funções Write () e Read () são usadas para escrever os comandos e ler a saída do sensor, respectivamente. A parte a seguir ilustra a leitura dos valores do campo magnético.
// Lê 6 bytes de dados de 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = novo byte [6];
device.read (0x03, data, 0, 6);
A saída é mostrada na imagem acima.
Etapa 4: Aplicativos:
HMC5883 é um módulo multi-chip de montagem em superfície projetado para detecção magnética de baixo campo com uma interface digital para aplicações como bússola e magnetometria de baixo custo. Seu alto nível de precisão e exatidão de um a dois graus permite a Navegação Pedestre e Aplicações LBS.
Recomendado:
Medição de temperatura usando AD7416ARZ e Raspberry Pi: 4 etapas
Medição de temperatura usando AD7416ARZ e Raspberry Pi: AD7416ARZ é um sensor de temperatura de 10 bits com quatro conversores analógico para digital de canal único e um sensor de temperatura integrado incorporado. O sensor de temperatura nas peças pode ser acessado por meio de canais de multiplexador. Esta temperatura de alta precisão
Medição da intensidade da luz usando BH1715 e Raspberry Pi: 5 etapas
Medição da intensidade da luz usando BH1715 e Raspberry Pi: Ontem estávamos trabalhando em monitores LCD e, ao trabalhar neles, percebemos a importância do cálculo da intensidade da luz. A intensidade da luz não é apenas importante no domínio físico deste mundo, mas tem seu papel bem dito no biológico
Medição de campo magnético usando HMC5883 e Arduino Nano: 4 etapas
Medição de campo magnético usando HMC5883 e Arduino Nano: O HMC5883 é uma bússola digital projetada para detecção magnética de baixo campo. Este dispositivo possui uma ampla faixa de campo magnético de +/- 8 Oe e uma taxa de saída de 160 Hz. O sensor HMC5883 inclui drivers de cinta de desmagnetização automática, cancelamento de deslocamento e
Medição de campo magnético usando HMC5883 e fóton de partícula: 4 etapas
Medição de campo magnético usando HMC5883 e partícula de fóton: O HMC5883 é uma bússola digital projetada para detecção magnética de baixo campo. Este dispositivo possui uma ampla faixa de campo magnético de +/- 8 Oe e uma taxa de saída de 160 Hz. O sensor HMC5883 inclui drivers de cinta de desmagnetização automática, cancelamento de deslocamento e
Sensor de campo magnético de 3 eixos: 10 etapas (com imagens)
Sensor de campo magnético de 3 eixos: os sistemas de transferência de energia sem fio estão a caminho de substituir o carregamento convencional com fio. Variando de minúsculos implantes biomédicos até a recarga sem fio de enormes veículos elétricos. Uma parte integrante da pesquisa sobre energia sem fio é