Taula de continguts:

Brúixola i altímetre LED: 7 passos (amb imatges)
Brúixola i altímetre LED: 7 passos (amb imatges)

Vídeo: Brúixola i altímetre LED: 7 passos (amb imatges)

Vídeo: Brúixola i altímetre LED: 7 passos (amb imatges)
Vídeo: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Desembre
Anonim
Image
Image
Diagrama de circuits i PCB
Diagrama de circuits i PCB

Els objectes amb LED sempre em fascinen. Per tant, aquest projecte combina el popular sensor de brúixola digital HMC5883L amb 48 LED. Si col·loqueu els LED en un cercle, el led que s’il·lumina és la direcció cap a la qual us dirigiu. Cada 7,5 graus accionarà un nou LED que donarà resultats detallats.

La placa GY-86 també proporciona un sensor de pressió baromètrica MS5611. Amb l'ajut d'aquest sensor és possible calcular l'altitud. A causa de l’alta resolució, és perfecte per als altímetres.

El sensor MPU6050 de la placa GY-86 té un acceleròmetre de 3 eixos i un giroscopi de 3 eixos. El giroscopi pot mesurar la velocitat de la posició angular al llarg del temps. L'acceleròmetre pot mesurar l'acceleració gravitatòria i mitjançant l'ús de matemàtiques de trigonometria és possible calcular l'angle en què es troba el sensor. Combinant les dades de l’acceleròmetre i el giroscopi és possible obtenir informació sobre l’orientació del sensor. Es pot utilitzar per compensar la inclinació de la brúixola HMC5883L (per fer).

Els breus vídeos d’instruccions d’aquest instructiu explicaran detalladament el seu funcionament. Els procediments de calibració estan automatitzats de manera que es garanteix l'èxit. La temperatura està disponible en centígrads (per defecte) o Fahrenheit.

Diverteix-te !!

Pas 1: altímetre

Image
Image

L’altímetre fa servir el sensor de pressió baromètrica MS5611. L’altitud es pot determinar en funció de la mesura de la pressió atmosfèrica. A major altitud, menor serà la pressió. A l’arrencada, l’altímetre utilitza la pressió per defecte del nivell del mar de 1013,25 mbar. En prémer el botó del pin 21 es farà servir la pressió a la vostra ubicació com a referència. D’aquesta manera, es pot mesurar aproximadament quina alçada té alguna cosa (per exemple, quan es condueix costa amunt amb un cotxe).

En aquest projecte s’utilitza l’anomenada "fórmula hipomètrica". Aquesta fórmula fa ús de la temperatura per compensar la mesura.

float alt=((powf (font / ((float) P / 100.0), 0.19022256) - 1.0) * ((float) TEMP / 100 + 273.15)) / 0.0065;

Podeu trobar més informació sobre la fórmula hipsomètrica aquí:

Fórmula hipomètrica

Les dades de calibratge de fàbrica i la temperatura del sensor es llegeixen des del sensor MS5611 i s’apliquen al codi per obtenir les mesures més precises. Durant la prova vaig trobar que el sensor MS5611 és sensible als fluxos d’aire i a les diferències d’intensitat de la llum. Ha de ser possible obtenir millors resultats que en aquest vídeo d’instruccions.

Pas 2: parts

1 x Microchip 18f26k22 microcontrolador PDIP de 28 PIN

3 x MCP23017 expansor d'E / S de 16 bits SPDIP de 28 pins

48 x LED de 3 mm

1 mòdul GY-86 amb sensors MS5611, HMC5883L i MPU6050

1 x SH1106 OLED 128x64 I2C

1 x condensador ceràmic 100nF

Resistència d'1 x 100 Ohm

Pas 3: Diagrama de circuits i PCB

Diagrama de circuits i PCB
Diagrama de circuits i PCB

Tot encaixa en un PCB d'una cara. Cerqueu aquí els fitxers Eagle i Gerber perquè pugueu fer-los vosaltres mateixos o pregunteu a un fabricant de PCB.

Utilitzo la brúixola i l’altímetre LED al meu cotxe i faig servir la interfície OBD2 com a font d’alimentació. El microcontrolador s’adapta perfectament al connector.

Pas 4: Com alinear perfectament els LED en un cercle en segons amb el programari Eagle PCB Design

Heu de veure aquesta característica molt agradable al programari Eagle PCB Design que us estalvia hores de feina. Amb aquesta funció Eagle podeu alinear perfectament els LED en un cercle en qüestió de segons.

Simplement feu clic a la pestanya "Fitxer" i després a "Executa ULP". Des d'aquí feu clic a "cmd-draw.ulp". Seleccioneu "Mou", "pas de grau" i "Cercle". Empleneu el nom del primer LED al camp "nom". Estableix les coordenades del centre del cercle a la quadrícula als camps "X coord coord" i "Y centre coord". En aquest projecte hi ha 48 LEDs de manera que 360 dividits per 48 fan 7,5 per al camp "Angle step". El radi d’aquest cercle és d’1,4 polzades. Feu clic a Intro i teniu un cercle perfecte de LEDs.

Pas 5: procés de calibració de la brúixola

Image
Image

L'HMC5883L inclou un ADC de 12 bits que permet una precisió de capçalera de brúixola d'1 a 2 graus centígrads. Però abans de donar dades utilitzables, cal calibrar-les. Per tal que aquest projecte funcioni i funcioni sense problemes, hi ha aquest mètode de calibratge que proporciona un desplaçament x i y. No és el mètode més sofisticat, però és suficient per a aquest projecte. Aquest procediment només us costarà uns minuts i us donarà bons resultats.

En carregar i executar aquest programari, se us guiarà en aquest procés de calibratge. La pantalla OLED us indicarà quan començarà el procés i quan finalitzarà. Aquest procés de calibratge us demanarà que gireu el sensor 360 graus mentre el manteniu absolutament pla (horitzontal al terra). Muntar-lo en un trípode o alguna cosa semblant. Fer-ho tenint-lo a la mà no funciona. Al final, les compensacions es presentaran a l'OLED. Si executeu aquest procediment diverses vegades, haureu de veure resultats gairebé iguals.

Opcionalment, les dades recollides també estan disponibles mitjançant RS232 mitjançant el pin 27 (9600 baud). Simplement utilitzeu un programa de terminal com Putty i recopileu totes les dades al fitxer de registre. Aquestes dades es poden importar fàcilment a Excel. Des d’aquí podeu veure amb més facilitat l’aspecte del desplaçament del vostre HMC5883L.

Els desplaçaments es col·loquen a la EEPROM del microcontrolador. Es carregaran a l’inici del programari de la brúixola i l’altímetre que trobareu al pas 7.

Pas 6: Compenseu la declinació magnètica de la vostra ubicació

Image
Image
Concurs de Sensors
Concurs de Sensors

Hi ha un nord magnètic i un nord geogràfic (pol nord). La brúixola seguirà les línies del camp magnètic terrestre de manera que apuntin cap al nord magnètic. La diferència entre el nord magnètic i el nord geogràfic s’anomena declinació magnètica. A la meva ubicació, la declinació és de només 1 grau i 22 minuts, de manera que no val la pena compensar-ho. En altres llocs, aquesta declinació pot arribar als 30 graus.

Cerqueu la declinació magnètica a la vostra ubicació

Si voleu compensar això (és opcional) podeu afegir la declinació (graus i minuts) a la EEPROM del microcontrolador. A la ubicació 0x20 podeu afegir els graus en forma hexadecimal signada. Està signat perquè també pot ser una declinació negativa. A la ubicació 0x21 podeu afegir els minuts també en forma hexadecimal.

Pas 7: Compileu el codi

Image
Image

Compileu aquest codi font i programa el vostre microcontrolador. Aquest codi es compila correctament amb MPLABX IDE v5.20 i el compilador XC8 v2.05 en mode C99 (per tant, incloeu els directoris C99). També hi ha disponible el fitxer hexadecimal perquè pugueu ometre el procediment de compilació. Assegureu-vos que desmarqueu la casella de selecció "Dades EEPROM activades" per evitar que les dades de calibratge (vegeu el pas 5) se sobreescrivin. Establiu el vostre programador a 3,3 volts.

En connectar el pin 27 a terra s’obté la temperatura en Fahrenheit.

Gràcies a Achim Döbler per la seva biblioteca gràfica µGUI

Concurs de Sensors
Concurs de Sensors

Accèssit al concurs de sensors

Recomanat: