Interface do magnetômetro com Beaglebone preto (Parte 8/15)

Interface do magnetômetro com Beaglebone preto (Parte 8/15)

Este tutorial explica como trabalhar com magnetômetro e Beaglebone preto. O magnetômetro detecta o campo magnético baixo e funciona como uma bússola digital. É usado em aplicativos de rastreamento ou navegação. Neste tutorial, o magnetômetro HMC5883L foi usado e conectado ao Beaglebone black por meio do protocolo I2C. O programa é escrito em script python com biblioteca adafruit I2C.

Ferramentas necessárias:

  • Beaglebone Preto
  • Magnetômetro (módulo HMC5883L)
  • Tábua de ensaio
  • Conectores fêmea para fêmea

Configuração do ambiente de software

Instale a versão mais recente do python no BBB conforme explicado no tutorial Como fazer o primeiro programa python com Beaglebone Black. Instale a biblioteca adafruit python-GPIO.

Trabalhando

HMC5883L é um dispositivo de detecção magnética baixa e bússola digital de 3 eixos. É suportado pela interface I2C. Ele gera valor magnético sensível durante medições simples. O valor e o grau do ângulo são exibidos no prompt SSH a cada segundo. O magnetômetro detecta o campo magnético e gera o valor digital de acordo. O magnetômetro HMC5883L detecta o valor analógico, mas possui ADC no chip que fornece o valor digital. Você pode obter mais informações na folha de dados do HMC5883L.

Imagem do Magenetômetro HMC5883L

Fig. 1: Imagem do Magenetômetro HMC5883L

I2C é um protocolo de comunicação serial de dois fios que transfere dados serialmente entre dois dispositivos. São necessários apenas dois pinos para dados transferir:

1) SCL – pulso de relógio serial

2) SDA – Endereço de dados serial

Vantagem da operação de leitura e gravação I2C realizada por apenas um único pino, ao contrário do SPI. Você pode obter mais informações sobre isso em Interface I2C ou TWI (Two Wire Interface).

Descrição

Vamos primeiro preparar a conexão do circuito. Pegue uma placa de ensaio e forneça VCC e aterramento do BBB até a linha da placa de ensaio. Conecte a alimentação de 3,3 V do pino número 3terceiro do cabeçalho P9 e aterramento do pino número 2e do cabeçalho P8.

Você não precisa se preocupar em adicionar circuitos extras ao sensor porque eles já estão adicionados ao chip.

Você só precisa estabelecer algumas conexões com o Beaglebone Black.

Abra o terminal de comando e acesse o Beaglebone black através do SSH conforme explicado em começando com Beaglebone preto. Crie um novo arquivo usando tocar comando com .py extensão (ou seja, magnetometer.py). Abra o arquivo com qualquer editor de texto (ou seja, nano, vim etc.) e escreva um código em linguagem python.

Configuração e protótipo de trabalho:

Você precisa importar a biblioteca I2C no programa para usar o dispositivo I2C. Você pode criar sua própria biblioteca, mas a biblioteca Adafruit pode ser usada para economizar tempo, pois fornece todos os tipos de biblioteca python do BBB.

de Adafruit_I2C importar Adafruit_I2C

Ele importa a biblioteca I2C em seu script.

A seguir, defina o endereço do magnetômetro para comunicação. O endereço do dispositivo é de 7 bits e endereçado ao mestre pela seguinte função *(não entendi a linha):

i2c = Adafruit_I2C (0x1e)

Observação: 0x1e é o endereço do dispositivo HMC5883L.

Configure o registro do magnetômetro para operação. Aqui está uma lista de registradores de 8 bits:

O magnetômetro possui quatro pinos:

  • SCL
  • IASD
  • GND
  • CCV

Conecte o pino SDA e SCL do sensor do magnetômetro ao pino SDA (20º pino do cabeçalho P9) e pino SCL (19º pino do cabeçalho P9) do BBB respectivamente. Forneça o VCC e o aterramento ao magnetômetro.

Tabela listando registros integrados do magenetômetro HMC5883L

Fig. 2: Tabela listando registros integrados do magenetômetro HMC5883L

Você pode obter mais detalhes sobre configuração e registro na folha de dados do magnetômetro.

Baixe a ficha técnica no link a seguir:

Escreva o valor da configuração no registro A seguindo a função e passe o parâmetro apropriado:

i2c.write8 (0x01, 0x71)

O primeiro argumento aborda a localização do registro e o segundo argumento é o valor da configuração que está escrito no registro.

A configuração do registro A seleciona amostra por medição, taxa de saída de dados e modo de operação de medição.

Da mesma forma, escreva o valor da configuração no registro B e no registro de modo seguindo a função:

i2c.write8 (0x02, 0xA0)

A configuração do registro B seleciona a configuração de ganho.

i2c.write8 (0x03, 0x00)

O registrador de modo é um registrador de 8 bits a partir do qual os dados podem ser lidos ou gravados. Ele seleciona o modo de operação.

Código fonte do projeto

###


de Adafruit_I2C importar Adafruit_I2C
importar matemática
do tempo importar sono i2c = Adafruit_I2C(0x1e) i2c.write8(0x00, 0x71) i2c.write8(0x01, 0xA0) i2c.write8(0x02, 0x00) enquanto Verdadeiro: primeiro = i2c.readS8(0x03) segundo = i2c.readS8(0x04) x = (primeiro << 8) segundo print("eixo x = " + str(x)) primeiro = i2c.readS8(0x05) segundo = i2c.readS8(0x06) z = (primeiro << 8) segundo print("eixo z = " + str(z)) primeiro = i2c.readS8(0x07) segundo = i2c.readS8(0x08) y = (primeiro << 8) segundo print("eixo y = " + str(y)) grau = 90-math.atan(x/y)*180/math.pi print("ângulo = " + str(grau)) imprimir('n')

###

Diagramas de circuito

Diagrama de Circuito-Beaglebone-Black-Interfacing-HMC5883L-Magenetômetro

Vídeo do projeto

Conteúdo Relacionado

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
返回博客

发表评论

请注意,评论必须在发布之前获得批准。