Tabla de contenido:
- Paso 1: altímetro
- Paso 2: Partes
- Paso 3: diagrama de circuito y PCB
- Paso 4: Cómo alinear perfectamente los LED en un círculo en segundos con el software de diseño de PCB Eagle
- Paso 5: Proceso de calibración de la brújula
- Paso 6: compensa la declinación magnética de tu ubicación
- Paso 7: compila el código
Video: Brújula LED y altímetro: 7 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Los objetos con LED siempre me fascinan. Por lo tanto, este proyecto combina el popular sensor de brújula digital HMC5883L con 48 LED. Al colocar los LED en un círculo, el LED que se enciende es la dirección a la que se dirige. Cada 7.5 grados activará un nuevo LED que brinda resultados detallados.
La placa GY-86 también proporciona un sensor de presión barométrica MS5611. Con la ayuda de este sensor es posible calcular la altitud. Por su alta resolución es perfecto para altímetros.
El sensor MPU6050 en la placa GY-86 tiene un acelerómetro de 3 ejes y un giroscopio de 3 ejes. El giroscopio puede medir la velocidad de la posición angular a lo largo del tiempo. El acelerómetro puede medir la aceleración gravitacional y mediante el uso de matemáticas de trigonometría es posible calcular el ángulo en el que está posicionado el sensor. Al combinar los datos del acelerómetro y el giroscopio, es posible obtener información sobre la orientación del sensor. Esto se puede utilizar para la compensación de inclinación de la brújula HMC5883L (tareas pendientes).
Los videos breves de instrucciones en este instructivo explicarán en detalle cómo funciona. Los procedimientos de calibración están automatizados, por lo que el éxito está garantizado. La temperatura está disponible en grados Celsius (predeterminado) o Fahrenheit.
Divertirse !!
Paso 1: altímetro
El altímetro hace uso del sensor de presión barométrica MS5611. La altitud se puede determinar basándose en la medición de la presión atmosférica. Cuanto mayor sea la altitud, menor será la presión. Al inicio, el altímetro utiliza la presión predeterminada al nivel del mar de 1013,25 mbar. Al presionar el botón en el pin 21, la presión en su ubicación se utilizará como referencia. De esta manera, permite medir aproximadamente qué altura tiene algo (por ejemplo, cuando se conduce cuesta arriba con un automóvil).
En este proyecto se utiliza la denominada "fórmula hipsométrica". Esta fórmula utiliza la temperatura para compensar la medición.
flotar alt=((powf (fuente / ((flotar) P / 100.0), 0.19022256) - 1.0) * ((flotar) TEMP / 100 + 273.15)) / 0.0065;
Puede encontrar más información sobre la fórmula hipsométrica aquí:
Fórmula hipsométrica
Los datos de calibración de fábrica y la temperatura del sensor se leen del sensor MS5611 y se aplican al código para obtener las mediciones más precisas. Durante la prueba, descubrí que el sensor MS5611 es sensible a los flujos de aire y las diferencias en la intensidad de la luz. Debe ser posible obtener mejores resultados que en este video de instrucciones.
Paso 2: Partes
1 x microcontrolador Microchip 18f26k22 PDIP de 28 pines
3 x MCP23017 Expansor de E / S de 16 bits SPDIP de 28 pines
48 x LED de 3 mm
1 x módulo GY-86 con sensores MS5611, HMC5883L y MPU6050
1 x SH1106 OLED 128x64 I2C
1 x condensador cerámico 100nF
1 x resistencia de 100 ohmios
Paso 3: diagrama de circuito y PCB
Todo cabe en una placa de circuito impreso de una cara. Encuentre aquí los archivos Eagle y Gerber para que pueda hacerlo usted mismo o pregúntele a un fabricante de PCB.
Utilizo la brújula LED y el altímetro en mi coche y uso la interfaz OBD2 como fuente de alimentación. El microcontrolador encaja perfectamente en el conector.
Paso 4: Cómo alinear perfectamente los LED en un círculo en segundos con el software de diseño de PCB Eagle
Debe ver esta característica realmente agradable en Eagle PCB Design Software que le ahorra horas de trabajo. Con esta función Eagle, puede alinear perfectamente los LED en un círculo en segundos.
Simplemente haga clic en la pestaña "Archivo" y luego en "Ejecutar ULP". Desde aquí, haga clic en "cmd-draw.ulp". Seleccione "Mover", "paso de grado" y "Círculo". Complete el nombre del primer LED en el campo "nombre". Establezca las coordenadas del centro del círculo en la cuadrícula en los campos "X centro coord" y "Y centro coord". En este proyecto hay 48 LED, por lo que 360 dividido por 48 hace 7.5 para el campo "Paso de ángulo". El radio de este círculo es de 1,4 pulgadas. Pulsa enter y tienes un círculo perfecto de LED.
Paso 5: Proceso de calibración de la brújula
El HMC5883L incluye un ADC de 12 bits que permite una precisión de rumbo de la brújula de 1 a 2 grados Celsius. Pero antes de que proporcione datos utilizables, debe calibrarse. Para que este proyecto funcione sin problemas, existe este método de calibración que proporciona una compensación xey. No es el método más sofisticado pero es suficiente para este proyecto. Este procedimiento le costará solo unos minutos y le dará buenos resultados.
Al cargar y ejecutar este software, se le guiará en este proceso de calibración. La pantalla OLED le dirá cuándo comenzará el proceso y cuándo finalizará. Este proceso de calibración le pedirá que gire el sensor 360 grados mientras lo mantiene absolutamente plano (horizontal al suelo). Móntelo en un trípode o algo así. Hacer esto sosteniéndolo en su mano no funciona. Al final, las compensaciones se presentarán en el OLED. Si ejecuta este procedimiento varias veces, debe ver resultados casi iguales.
Opcionalmente, los datos recopilados también están disponibles a través de RS232 a través del pin 27 (9600 baudios). Simplemente use un programa de terminal como Putty y recopile todos los datos en el archivo de registro. Estos datos se pueden importar fácilmente en Excel. Desde aquí puede ver más fácilmente cómo se ve el desplazamiento de su HMC5883L.
Las compensaciones se colocan en la EEPROM del microcontrolador. Estos se cargarán al inicio del software de brújula y altímetro que encontrará en el paso 7.
Paso 6: compensa la declinación magnética de tu ubicación
Hay un Norte magnético y un Norte geográfico (Polo Norte). Su brújula seguirá las líneas del campo magnético de la tierra, así que apunte hacia el norte magnético. La diferencia entre el norte magnético y el norte geográfico se llama declinación magnética. En mi ubicación, la declinación es de solo 1 grado y 22 minutos, por lo que no vale la pena compensar esto. En otros lugares, esta declinación puede ser de hasta 30 grados.
Encuentra la declinación magnética en tu ubicación
Si quieres compensar esto (es opcional) puedes agregar la declinación (grados y minutos) en la EEPROM del microcontrolador. En la ubicación 0x20 puede agregar los grados en forma hexadecimal firmada. Está firmado porque también puede ser una declinación negativa. En la ubicación 0x21 puede agregar los minutos también en forma hexadecimal.
Paso 7: compila el código
Compile este código fuente y programe su microcontrolador. Este código se compila correctamente con MPLABX IDE v5.20 y el compilador XC8 v2.05 en modo C99 (por lo tanto, incluya los directorios C99). Además, el archivo hexadecimal está disponible para que pueda omitir el procedimiento de compilación. Asegúrese de desmarcar la casilla de verificación "Datos EEPROM habilitados" para evitar que se sobrescriban los datos de calibración (consulte el paso 5). ¡Ponga su programador en 3.3 voltios!
Al conectar el pin 27 a tierra, obtienes la temperatura en Fahrenheit.
Gracias a Achim Döbler por su biblioteca gráfica µGUI
Finalista en el Concurso de Sensores
Recomendado:
Una pequeña brújula con ATtiny85: 12 pasos (con imágenes)
Una pequeña brújula con ATtiny85: este es nuestro primer proyecto con ATtiny85; una simple brújula digital de bolsillo (en colaboración con J. Arturo Espejel Báez) .ATtiny85 es un microcontrolador de alto rendimiento y bajo consumo. Tiene 8 Kbytes de memoria flash programable. Debido a esto, el chal
Tutorial para conectar el sensor de brújula HMC5883L con Arduino: 10 pasos (con imágenes)
Tutorial para conectar el sensor de brújula HMC5883L con Arduino: Descripción HMC5883L es una brújula digital de 3 ejes que se utiliza para dos propósitos generales: medir la magnetización de un material magnético como un ferromaimán, o medir la fuerza y, en algunos casos, la dirección del campo magnético en un punto en s
La brújula moral: 7 pasos (con imágenes)
The Moral Compass: El proyecto realizado como parte del seminario de Diseño Computacional y Fabricación Digital en el programa de maestría ITECH y fue presentado por Vanessa Costalonga, James Hayward y Christo van der Hoven ._____ ¿Alguna vez has dudado de las opciones que
Micro: bit Brújula: 9 pasos (con imágenes)
Brújula micro: bit: este instructivo muestra cómo usar micro: bit para hacer una brújula digital simple
PropVario, un variómetro / altímetro de bricolaje con salida de voz para planeadores RC: 7 pasos (con imágenes)
PropVario, un variómetro / altímetro de bricolaje con salida de voz para planeadores RC: este instructivo le mostrará cómo construir un Vario económico, que podría hablar la altitud y, por supuesto, enviar varios tonos al cambiar la altura de su planeador. Algunas características: - voz y tono - use sus propias muestras (de onda) en su la