INHOUDSOPGAWE:

LED -kompas en hoogtemeter: 7 stappe (met foto's)
LED -kompas en hoogtemeter: 7 stappe (met foto's)

Video: LED -kompas en hoogtemeter: 7 stappe (met foto's)

Video: LED -kompas en hoogtemeter: 7 stappe (met foto's)
Video: Kleuters op familiefeest 😂 2024, Julie
Anonim
Image
Image
Kringdiagram en PCB
Kringdiagram en PCB

Voorwerpe met LED's fassineer my altyd. Daarom is hierdie projek om die gewilde digitale kompassensor HMC5883L te kombineer met 48 LED's. Deur die LED's in 'n sirkel te plaas, is die LED wat beligting die rigting is waarheen u op pad is. Elke 7,5 grade ry 'n nuwe LED wat gedetailleerde resultate lewer.

Die GY-86-bord bied ook 'n MS5611 barometriese druksensor. Met behulp van hierdie sensor is dit moontlik om die hoogte te bereken. Vanweë die hoë resolusie is dit ideaal vir hoogtemeters.

Die MPU6050-sensor op die GY-86-bord het beide 'n 3-as versnellingsmeter en 'n 3-as gyroscoop. Die gyroscoop kan mettertyd die snelheid van die hoekposisie meet. Die versnellingsmeter kan gravitasieversnelling meet en met behulp van trigonometrie wiskunde is dit moontlik om die hoek te bereken waarteen die sensor geplaas word. Deur die versnellingsmeter en die gyroscoopdata te kombineer, is dit moontlik om inligting te kry oor die sensororiëntasie. Dit kan gebruik word vir die kantelvergoeding van die HMC5883L -kompas (om te doen).

Die kort instruksievideo's in hierdie instruksies sal in detail verduidelik hoe dit werk. Kalibrasieprosedures is outomaties, sodat sukses verseker word. Die temperatuur is beskikbaar in Celsius (standaard) of Fahrenheit.

Hê pret !!

Stap 1: Hoogtemeter

Image
Image

Die hoogtemeter maak gebruik van die MS5611 barometriese druksensor. Hoogte kan bepaal word op grond van die meting van atmosferiese druk. Hoe groter die hoogte, hoe laer is die druk. By die aanvang gebruik die hoogtemeter die standaard seevlakdruk van 1013,25 mbar. Deur op die knoppie by pen 21 te druk, word die druk op u plek as verwysing gebruik. Op hierdie manier is dit moontlik om ongeveer te meet watter hoogte iets het (byvoorbeeld wanneer u bergop met 'n motor ry).

Die sogenaamde "hipsometriese formule" word in hierdie projek gebruik. Hierdie formule maak gebruik van die temperatuur om die meting te vergoed.

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

U kan meer hier vind oor die hipsometriese formule:

Hipsometriese formule

Fabriekkalibrasie -data en sensortemperatuur word van die MS5611 -sensor gelees en op kode toegepas om die akkuraatste metings te kry. Tydens die toets het ek gevind dat die MS5611-sensor sensitief is vir lugstrome en verskille in ligintensiteit. Dit moet moontlik wees om beter resultate te behaal as in hierdie instruksievideo.

Stap 2: Onderdele

1 x Microchip 18f26k22 mikrokontroller 28-PIN PDIP

3 x MCP23017 16-bis I/O-uitbreider 28-pins SPDIP

48 x LED's 3 mm

1 x GY-86 module met MS5611, HMC5883L en MPU6050 sensors

1 x SH1106 OLED 128x64 I2C

1 x keramiek kondensator 100nF

1 x 100 Ohm weerstand

Stap 3: Kringdiagram en PCB

Kringdiagram en PCB
Kringdiagram en PCB

Alles pas op 'n enkelzijdige PCB. Vind hier die Eagle- en Gerber -lêers, sodat u dit self kan maak of 'n PCB -vervaardiger kan vra.

Ek gebruik die LED -kompas en hoogtemeter in my motor en gebruik die OBD2 -koppelvlak as 'n kragtoevoer. Die mikrobeheerder pas perfek in die aansluiting.

Stap 4: Hoe om LED's binne sekondes perfek in lyn te bring met Eagle PCB -ontwerpprogrammatuur

U moet hierdie baie goeie funksie in Eagle PCB Design Software sien, wat u ure se werk bespaar. Met hierdie Eagle -funksie kan u LED's binne sekondes perfek in 'n sirkel pas.

Klik net op die oortjie "File" en dan op "Run ULP". Klik hiervandaan op "cmd-draw.ulp". Kies "Beweeg", "graadstap" en "Omkring". Vul die naam van die eerste LED in die veld "naam" in. Stel die koördinate van die middelpunt van die sirkel op die rooster by die velde "X middelpunt" en "Y middelpunt". In hierdie projek is 48 LED's, dus 360 gedeel deur 48 maak 7,5 vir veld "Hoekstap". Die radius van hierdie sirkel is 1,4 duim. Druk enter en u het 'n perfekte sirkel LED's.

Stap 5: Kompas -kalibrasieproses

Image
Image

Die HMC5883L bevat 'n 12 -bits ADC wat 1 tot 2 grade Celsius kompasopskrif akkuraatheid moontlik maak. Maar voordat dit bruikbare data gee, moet dit gekalibreer word. Om hierdie projek glad te laat funksioneer, is daar 'n kalibreringsmetode wat x- en y-offset bied. Dit is nie die mees gesofistikeerde metode nie, maar dit is voldoende vir hierdie projek. Hierdie prosedure kos u slegs 'n paar minute en gee goeie resultate.

Deur hierdie sagteware te laai en uit te voer, word u gelei in hierdie kalibrasieproses. Die OLED -skerm sal u vertel wanneer die proses begin en wanneer dit eindig. Hierdie kalibrasieproses sal u vra om die sensor 360 grade te draai terwyl u dit absoluut plat (horisontaal tot op die grond) hou. Monteer dit op 'n driepoot of iets dergeliks. Dit doen nie deur dit in jou hand te hou nie. Aan die einde word die verrekenings op die OLED aangebied. As u hierdie prosedure verskeie kere uitvoer, moet u byna gelyke resultate sien.

Opsioneel is die versamelde data ook beskikbaar via RS232 via pen 27 (9600 baud). Gebruik net 'n terminale program soos Putty en versamel al die data in die loglêer. Hierdie data kan maklik in Excel ingevoer word. Van hier af kan u makliker sien hoe die verrekening van u HMC5883L daar uitsien.

Die verrekenings word in die EEPROM van die mikrobeheerder geplaas. Dit word gelaai by die aanvang van die kompas- en hoogtemeterprogrammatuur wat u in stap 7 vind.

Stap 6: Vergoed die magnetiese afwyking van u ligging

Image
Image
Sensors -kompetisie
Sensors -kompetisie

Daar is 'n magnetiese Noord en 'n geografiese Noord (Noordpool). Jou kompas volg die magnetiese veldlyne van die aarde, so wys na die magnetiese noord. Die verskil tussen die magnetiese Noord en die geografiese Noord word die magnetiese deklinasie genoem. Op my plek is die afwyking slegs 1 graad en 22 minute, dus dit is nie die moeite werd om dit te vergoed nie. Op ander plekke kan hierdie afwyking tot 30 grade wees.

Vind die magnetiese deklinasie op u plek

As u dit wil vergoed (is opsioneel), kan u die deklinasie (grade en minute) in die EEPROM van die mikrobeheerder byvoeg. Op plek 0x20 kan u die grade in getekende heksadesimale vorm byvoeg. Dit word onderteken omdat dit ook 'n negatiewe deklinasie kan wees. Op plek 0x21 kan u die minute ook in heksadesimale vorm byvoeg.

Stap 7: Stel die kode saam

Image
Image

Stel hierdie bronkode saam en programmeer u mikrobeheerder. Hierdie kode stel korrek saam met MPLABX IDE v5.20 en XC8 samesteller v2.05 in C99 -modus (sluit die C99 -gidse in). Die hex -lêer is ook beskikbaar, sodat u die opstelprosedure kan oorslaan. Maak seker dat u die boks "EEPROM -data aangeskakel" uitskakel om te voorkom dat kalibrasie -data (sien stap 5) oorgeskryf word. Stel u programmeerder op 3,3 volt!

Deur pen 27 aan die grond te koppel, kry u die temperatuur in Fahrenheit.

Dankie aan Achim Döbler vir sy µGUI grafiese biblioteek

Sensors -kompetisie
Sensors -kompetisie

Naaswenner in die Sensors -kompetisie

Aanbeveel: