Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Neste Instructable, quero mostrar como usar o sensor LSM303 para realizar uma bússola de inclinação compensada. Depois de uma primeira tentativa (malsucedida), tratei da calibração do sensor. Graças a eles, os valores do magnetômetro melhoraram significativamente. A combinação de valores calibrados do magnetômetro e acelerômetro resultou em uma bússola de inclinação compensada.
O que você precisa:
1 Arduino Uno
1 LSM303DHLC Breakout
1 breadboard
1 resistor 220 Ohm
1 potenciômetro 10k
1 LCD 2x16 no modo de 4 bits
1 caixa de papelão
1 bússola
1 transferidor
Alguns fios
Etapa 1: Criação de dados brutos para calibração
A calibração é feita separadamente para magnetômetro e acelerômetro da mesma forma. Em uma primeira etapa, os dados brutos do sensor são lidos em 12 posições definidas (Figura 5.2). Em seguida, os dados de correção são calculados com a ajuda do Magmaster 1.0 (Figura 5.3) e podem ser avaliados em um esboço correspondente. Você pode encontrar um guia muito bom aqui
www.instructables.com/id/Easy-hard-and-soft-iron-magnetometer-calibration/
Obrigado YuriMat!
O esboço do Arduino "LSM303DHLC_Acc_andMag_Raw_Measurements_201218.ino" fornece os dados brutos necessários. Para isso, você pode selecionar a fonte na linha 17.
Para trabalhar com Magmaster 1.0, feche a janela Serial Monitor.
Etapa 2: Criação das medições calibradas
Para obter as medições calibradas do magnetômetro e do acelerômetro, transfira os valores na matriz de transformação e polarização no esboço do Arduino "LSM303DHLC_Tilt_compensated_Compas_211218", linha 236 - 246 para magnetômetro, 268 - 278 para acelerômetro.
Como uma verificação, o esboço também fornece uma comparação dos dados brutos e os valores calibrados do sensor. Além disso, você pode verificar as leituras com bússola e transferidor.
Etapa 3: Adicionando um display LCD
O display LC é usado para exibir a posição atual em relação ao campo magnético da Terra. O eixo X do sensor aponta para o norte, onde 0 ° corresponde ao norte magnético. O valor aumenta girando no sentido horário para 360 °. A inclinação do sensor é bem compensada, mas não deve exceder 45 °.
A conexão do display 16x2 LC é padrão e bem explicada no seguinte tutorial do Arduino:
www.arduino.cc/en/Tutorial/HelloWorld
Espero poder inspirá-lo para novos Instructables e estou ansioso para seus projetos.