Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
En este Instructable, quiero mostrar cómo usar el sensor LSM303 para realizar una brújula con compensación de inclinación. Después de un primer intento (fallido) me ocupé de la calibración del sensor. Gracias a ellos, los valores del magnetómetro han mejorado significativamente. La combinación de valores calibrados del magnetómetro y el acelerómetro resultó en una brújula con compensación de inclinación.
Que necesitas:
1 Arduino Uno
1 LSM303DHLC Breakout
1 tablero
1 resistencia 220 ohmios
1 potenciómetro 10k
1 LCD 2x16 en modo de 4 bits
1 caja de cartón
1 brújula
1 transportador
Algunos cables
Paso 1: creación de los datos brutos para la calibración
La calibración se realiza por separado para el magnetómetro y el acelerómetro cada vez de la misma manera. En un primer paso, los datos brutos del sensor se leen en 12 posiciones definidas (Figura 5.2). Luego, los datos de corrección se calculan con la ayuda de Magmaster 1.0 (Imagen 5.3) y se pueden evaluar en un boceto correspondiente. Puedes encontrar una muy buena guía aquí.
www.instructables.com/id/Easy-hard-and-soft-iron-magnetometer-calibration/
¡Gracias YuriMat!
El boceto de Arduino "LSM303DHLC_Acc_andMag_Raw_Measurements_201218.ino" proporciona los datos brutos necesarios. Para ello puede seleccionar la fuente en la línea 17.
Para trabajar con Magmaster 1.0, cierre la ventana Serial Monitor.
Paso 2: creación de las medidas calibradas
Para obtener las medidas calibradas del magnetómetro y acelerómetro, transfiera los valores en la matriz de transformación y el sesgo en el esquema de Arduino "LSM303DHLC_Tilt_compensated_Compas_211218", línea 236 - 246 para Magnetómetro, 268 - 278 para Acelerómetro.
Como comprobación, el croquis también proporciona una comparación de los datos brutos y los valores del sensor calibrado. Además, puede verificar las lecturas con brújula y transportador.
Paso 3: agregar una pantalla LCD
La pantalla LC se utiliza para mostrar la posición actual en relación con el campo magnético de la tierra. El eje X del sensor apunta hacia el norte, donde 0 ° corresponde al norte magnético. El valor aumenta girando en el sentido de las agujas del reloj hasta 360 °. La inclinación del sensor está bien compensada, pero no debe superar los 45 °.
La conexión de la pantalla LC 16x2 es estándar y está bien explicada en el siguiente tutorial de Arduino:
www.arduino.cc/en/Tutorial/HelloWorld
Espero poder inspirarte a nuevos Instructables y espero con ansias tus proyectos.