Mündəricat:

LED Pusula və Altimetr: 7 Adım (Şəkillərlə birlikdə)
LED Pusula və Altimetr: 7 Adım (Şəkillərlə birlikdə)

Video: LED Pusula və Altimetr: 7 Adım (Şəkillərlə birlikdə)

Video: LED Pusula və Altimetr: 7 Adım (Şəkillərlə birlikdə)
Video: Top Kamuflyaj G-Shock Saatı-2018-ci ilin Ən Yaxşı 7 Ən Yaxşı Camo G-Shock Saatı 2024, Iyul
Anonim
Image
Image
Dövrə diaqramı və PCB
Dövrə diaqramı və PCB

LEDləri olan obyektlər həmişə məni valeh edir. Bu səbəbdən bu layihə, məşhur LED kompas sensoru HMC5883L -i 48 LED ilə birləşdirəcək. LED -ləri bir dairədə yerləşdirərək, işıqlandırdığınız istiqamət getdiyiniz istiqamətdir. Hər 7.5 dərəcə, ətraflı nəticələr verən yeni bir LED idarə edəcək.

GY-86 lövhəsi MS5611 barometrik təzyiq sensoru da təmin edir. Bu sensordan istifadə edərək hündürlüyü hesablamaq mümkündür. Yüksək qətnamə sayəsində altimetrlər üçün idealdır.

GY-86 lövhəsindəki MPU6050 sensoru həm 3 oxlu akselerometr, həm də 3 oxlu giroskopla təchiz edilmişdir. Jiroskop zamanla bucaq mövqeyinin sürətini ölçə bilər. Akselerometr cazibə sürətlənməsini ölçə bilər və trigonometriya riyazi istifadə edərək sensorun yerləşdiyi bucağı hesablamaq mümkündür. Akselerometr və giroskop məlumatlarını birləşdirərək sensorun oriyentasiyası haqqında məlumat əldə etmək mümkündür. Bu, HMC5883L kompasının əyilmə kompensasiyası üçün istifadə edilə bilər (etmək lazımdır).

Bu təlimatdakı qısa təlimat videoları bunun necə işlədiyini ətraflı izah edəcək. Kalibrləmə prosedurları avtomatlaşdırıldığı üçün müvəffəqiyyət təmin edilir. Temperatur Selsi (standart) və ya Fahrenheit -də mövcuddur.

Əylənin !!

Addım 1: Altimetr

Image
Image

Altimetr MS5611 barometrik təzyiq sensorundan istifadə edir. Hündürlük atmosfer təzyiqinin ölçülməsi əsasında müəyyən edilə bilər. Hündürlük nə qədər çox olarsa, təzyiq də o qədər aşağı olar. Başlanğıcda, altimetr standart dəniz səviyyəsi 1013.25 mbar olan təzyiqdən istifadə edir. Pin 21 -də düyməni basaraq, yerinizdəki təzyiq istinad olaraq istifadə ediləcək. Bu yolla bir şeyin hansı hündürlüyə malik olduğunu (məsələn, maşınla yoxuşa çıxarkən) ölçmək mümkün olur.

Bu layihədə "Hipometrik düstur" adlanır. Bu formula ölçməni kompensasiya etmək üçün temperaturdan istifadə edir.

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

Hipometrik düstur haqqında daha çox məlumatı burada tapa bilərsiniz:

Hipometrik düstur

Zavodun kalibrləmə məlumatları və sensor temperaturu MS5611 sensorundan oxunur və ən dəqiq ölçüləri əldə etmək üçün koda tətbiq olunur. Test zamanı MS5611 sensorunun hava axını və işıq intensivliyindəki fərqlərə həssas olduğunu gördüm. Bu təlimat videosundan daha yaxşı nəticələr əldə etmək mümkün olmalıdır.

Addım 2: hissələri

1 x Microchip 18f26k22 28-PIN PDIP mikro nəzarətçi

3 x MCP23017 16 Bitlik I/O Genişləndirici 28 pinli SPDIP

48 x 3 mm LED

MS5611, HMC5883L və MPU6050 sensorlu 1 x GY-86 modulu

1 x SH1106 OLED 128x64 I2C

1 x Seramik kondansatör 100nF

1 x 100 Ohm müqavimət

Addım 3: Dövrə Diaqramı və PCB

Dövrə diaqramı və PCB
Dövrə diaqramı və PCB

Hər şey bir tərəfli PCB -yə uyğundur. Burada Eagle və Gerber fayllarını tapın ki, bunu özünüz edə və ya bir PCB istehsalçısından soruşa bilərsiniz.

Avtomobilimdə LED Kompas və Altimetrdən istifadə edirəm və OBD2 interfeysini enerji təchizatı kimi istifadə edirəm. Mikro nəzarətçi bağlayıcıya mükəmməl uyğun gəlir.

Addım 4: Eagle PCB Dizayn Proqramı ilə LED -lərin Saniyədə Mükəmməl Hizalanması

Bu həqiqətən gözəl xüsusiyyəti, saatlarla işdən qurtaran Eagle PCB Dizayn Proqramında görməlisiniz. Bu Eagle xüsusiyyəti ilə LEDləri saniyələr ərzində bir dairədə mükəmməl şəkildə düzəldə bilərsiniz.

Yalnız "Fayl" sekmesini və sonra "ULP Çalıştır" düyməsini basın. Buradan "cmd-draw.ulp" düyməsini basın. "Hərəkət et", "dərəcə addımı" və "Dairə" seçin. "Ad" sahəsində ilk LED -in adını daxil edin. "X mərkəz koordinatı" və "Y mərkəz koordinatı" sahələrində ızgara dairəsinin mərkəzinin koordinatlarını təyin edin. Bu layihədə 48 LED var, buna görə 360 -ı 48 -ə bölməklə "Angle step" sahəsi üçün 7.5 edir. Bu dairənin radiusu 1,4 düymdür. Daxil edin və mükəmməl bir LED dairəsinə sahib olun.

Addım 5: Pusula kalibrləmə prosesi

Image
Image

HMC5883L, 1-2 dərəcə Selsi kompas başlığı dəqiqliyini təmin edən 12 bitlik bir ADC daxildir. Ancaq istifadə edilə bilən məlumatlar verməzdən əvvəl kalibrlənməlidir. Bu layihənin düzgün işləməsi üçün x və y ofsetini təmin edən bu kalibrləmə üsulu mövcuddur. Bu ən mürəkkəb metod deyil, amma bu layihə üçün kifayətdir. Bu prosedur bir neçə dəqiqəyə başa gələcək və gözəl nəticələr verir.

Bu proqramı yükləyərək və işlədərək bu kalibrləmə prosesində sizə rəhbərlik edəcəksiniz. OLED ekranı, prosesin nə vaxt başlayacağını və nə vaxt bitəcəyini sizə xəbər verəcəkdir. Bu kalibrləmə prosesi sensoru tamamilə düz (üfüqi yerə) tutaraq 360 dərəcə döndərməyinizi xahiş edəcək. Bir tripod və ya buna bənzər bir şeyə qoyun. Əlinizdə tutaraq bunu etmək nəticə vermir. Sonda ofsetlər OLED -də təqdim olunacaq. Bu proseduru bir neçə dəfə yerinə yetirsəniz, demək olar ki, bərabər nəticələr görməlisiniz.

İsteğe bağlı olaraq, toplanan məlumatlar RS232 vasitəsilə pin 27 (9600 baud) vasitəsilə də əldə edilə bilər. Yalnız Putty kimi bir terminal proqramından istifadə edin və qeyd sənədindəki bütün məlumatları toplayın. Bu məlumatlar Excel -də asanlıqla idxal edilə bilər. Buradan HMC5883L ofsetinizin necə göründüyünü daha asan görə bilərsiniz.

Ofsetlər mikrokontrolörün EEPROM -a qoyulur. 7 -ci addımda tapa biləcəyiniz pusula və altimetr proqramının işə salınması zamanı bunlar yüklənəcək.

Addım 6: Məkanınızın Maqnit Enişini kompensasiya edin

Image
Image
Sensorlar Müsabiqəsi
Sensorlar Müsabiqəsi

Maqnit Şimal və coğrafi Şimal (Şimal Qütbü) var. Kompasınız yerin maqnit sahəsi xətlərini izləyəcək, buna görə də maqnit Şimala işarə edin. Maqnit Şimal ilə coğrafi Şimal arasındakı fərqə maqnit eniş deyilir. Mənim yerimdə meyl yalnız 1 dərəcə 22 dəqiqədir, buna görə bunu kompensasiya etməyə dəyməz. Digər yerlərdə bu meyl 30 dərəcəyə qədər ola bilər.

Yerinizdə maqnit meylini tapın

Bunu kompensasiya etmək istəyirsinizsə (isteğe bağlıdır) mikro nəzarətçinin EEPROM -da meylini (dərəcə və dəqiqə) əlavə edə bilərsiniz. 0x20 yerində dərəcələri imzalanmış onaltılıq formada əlavə edə bilərsiniz. Mənfi bir meyl ola biləcəyi üçün imzalanmışdır. 0x21 yerində dəqiqələri onaltılıq formada da əlavə edə bilərsiniz.

Addım 7: Kodu tərtib edin

Image
Image

Bu mənbə kodunu tərtib edin və mikro nəzarətçinizi proqramlaşdırın. Bu kod, C99 rejimində MPLABX IDE v5.20 və XC8 v2.05 tərtibçisi ilə düzgün tərtib edir (buna görə C99 qovluqlarını daxil edin). Həm də hex faylı mövcuddur, buna görə tərtib prosedurunu atlaya bilərsiniz. Kalibrləmə məlumatlarının (5 -ci addıma) yazılmasının qarşısını almaq üçün "EEPROM məlumatları aktivdir" onay qutusundan işarəni çıxardığınızdan əmin olun. Proqramlaşdırıcınızı 3,3 volta təyin edin!

27 pinini yerə bağlayaraq Fahrenheitdəki temperaturu əldə edirsiniz.

Achim Döblerə µGUI qrafik kitabxanası üçün təşəkkür edirik

Sensorlar Müsabiqəsi
Sensorlar Müsabiqəsi

Sensorlar yarışmasında ikinci yeri tutdu

Tövsiyə: