Mündəricat:

Simsiz Ay Fazı İzləyicisi: 6 Adım (Şəkillərlə birlikdə)
Simsiz Ay Fazı İzləyicisi: 6 Adım (Şəkillərlə birlikdə)

Video: Simsiz Ay Fazı İzləyicisi: 6 Adım (Şəkillərlə birlikdə)

Video: Simsiz Ay Fazı İzləyicisi: 6 Adım (Şəkillərlə birlikdə)
Video: Sıfırdan BA Qəhrəmanına: Biznes Analizinə Səyahət 2024, Iyul
Anonim
Simsiz Ay Fazı İzləyicisi
Simsiz Ay Fazı İzləyicisi
Simsiz Ay Fazı İzləyicisi
Simsiz Ay Fazı İzləyicisi
Simsiz Ay Fazı İzləyicisi
Simsiz Ay Fazı İzləyicisi
Simsiz Ay Fazı İzləyicisi
Simsiz Ay Fazı İzləyicisi

Ay fazası izləyicisi, Ay haqqında kritik məlumatlar toplamağa imkan verən kiçik, yarı portativ bir cihazdır. Cihaz görünən işıqlandırma, faza, ayın doğuşu və təyin olunan vaxtlar və daha çoxu kimi parametrləri bildirir.

Bu cihaz elmə və ya astronomiyaya maraq göstərən və əla bir masa üstü ofis bəzəyi təmin edən və əlbəttə ki, söhbətə başlanğıc edən hər kəs üçün vacibdir.

Layihə olduqca sadədir və bir ESP32 kimi internetə bağlı bir cihaz tələb edir, ancaq kodu hər zaman WiFi qalxanı, Ethernet qalxanı və ya ola biləcək hər hansı bir internetə bağlı cihazla işləmək üçün uyğunlaşdıra bilərsiniz. Lunar Phase Tracker, Lityum-Polimer batareyaları və çox enerjiyə qənaət edən E-mürəkkəb ekranı işlətmək üçün nəzərdə tutulmuşdur ki, bu da yalnız baxmaq üçün gözəl bir ekran təmin etmir, həm də güc sönsə belə son görüntünü saxlayır!

Addım 1: Astronomiya Məlumatına Qeydiyyat

Astronomiya Məlumatına Qeydiyyat
Astronomiya Məlumatına Qeydiyyat
Astronomiya Məlumatına Qeydiyyat
Astronomiya Məlumatına Qeydiyyat

Məlumat toplamaq üçün onlayn bir API istifadə etdiyimiz üçün bu addım çox vacibdir (darıxdırıcı olsa da). Ayın fazalarını, işıqlandırmasını və s. Hesablamaq mümkün olsa da, bunu etmək yorucu bir işdir. İstifadə etdiyimiz API canlı hava stansiyasından və izləmə sistemlərindən ən son məlumatları təmin edir, buna görə aldığımız məlumatlar hesablanmış dəyərlər deyil, real dünya nəticələridir.

Hava Metrosuna gedin, "qeydiyyatdan keç" düyməsini basın və bütün məlumatlarınızı doldurun. Hesab tamamilə pulsuzdur və dəqiqədə çox nəticə istəmədiyiniz və ya gündə 500 tələbi aşmadığınız müddətcə API zəngləriniz də belədir. Bu səhifəni əlfəcin etdiyinizə əmin olun, hər zaman daha sonra geri dönə və hava statistikası və digər möhtəşəm məlumatlar üçün API -dən istifadə edə bilərsiniz. Hesabınızı yaratdıqdan sonra API saytına daxil olun, "satın alma açarını" vurun və pulsuz planı seçin, sadəcə bir neçə detalı daxil etməlisiniz və inkişaf etdirici Açar Kimliyi ilə bağlı problemlərlə üzləşəcəksiniz. Bu şəxsiyyət sənədi unikaldır və məxfi saxlanılmalıdır. Açarımı bir az sonra baxacağımız Arduino kod nümunəsində verdim. Açar ID -ni test məqsədləri üçün istifadə etməkdən çox xoşunuz gəlir, amma öz şəxsiyyətiniz üçün qeydiyyatdan keçməyi məsləhət görürəm.

Özünəməxsus şəxsiyyət sənədinizə sahib olduqdan sonra, səmimi olaraq çox çılpaq olan Astronomiya API məlumatlarına keçə bilərsiniz. Bu kimi görünən sadə bir nümunə tapa bilərsiniz:

api.wunderground.com/api/8c6dc2e5c6f36de9/a…

Bu URL son dərəcə vacibdir, çünki bu, layihəmizi həyata keçirmək üçün lazım olan bütün məlumatları bizə verir. Davam edin, linki vurun, Sidney üçün ay fazası, işıqlandırma və digər yaxşı məlumatlar kimi nəticələr görəcəksiniz. URL -ə bir baxın, Sidneyi, Avstraliyanı və "8c6dcwe …" ilə başlayan uzun bir kodu görəcəyik. Bu kod daha əvvəl aldığımız açar kimliyinizdir. Bu kodu özünəməxsus şəxsiyyət nömrənizlə dəyişdirin və bunun necə işlədiyini görün, eyni nəticəni əldə etməlisiniz. Yerlərdə oynamağa çalışın. Cənubi Afrikada özüm üçün Johannesburg və ZA -dan istifadə edirəm.

Addım 2: Komponentlər

Komponentlər
Komponentlər
Komponentlər
Komponentlər
Komponentlər
Komponentlər

İndi maraqlı şeylər üçün. Bir neçə komponentə ehtiyacımız olacaq, çoxu yoxdur və heç biri də çox bahalı deyil və istifadə etdiyim komponentlər üçün Amazon bağlantıları verdim. Unutmayın ki, proqramlaşdırma bacarığınız varsa, əlinizdə olan hər hansı bir ekran və ya internet cihazından istifadə etməkdən çekinmeyin. Quruluşum üçün aşağıdakılardan istifadə etdim:

Waveshare E-Ink SPI 4.2 "SPI Ekranı

  • ESP32 Dev Board (Ümumi)
  • Adafruit Power Boost 500
  • 5000 mAh Lipo Batareya Paketi
  • Stripboard (Protoboard)

Evdə belə alətlərə ehtiyacınız olacaq:

  • Lehimleme dəmir
  • Lehim
  • Multimetr
  • Kaliperlər
  • Protoboarddakı parçaları ayırmaq üçün matkap
  • Tel
  • Tel Snips
  • Yapışqan (İsti yapışqan işləyəcək)
  • Arduino IDE quraşdırılmış noutbuk

Ehtiyacınız ola biləcək yeganə inkişaf etmiş vasitə, korpus hazırlamaq üçün 3D printerdir. Biriniz yoxdursa, əladır, korpusunuzu taxtadan və əl testerələrindən və ya əlinizdə olan bir şeydən düzəldin. Bəli, mənim 3D printerim köhnə və tozludur lol.

Addım 3: Kompüter Proqramı

Dövrə və proqramlaşdırma üzərində işə başlamazdan əvvəl, ilk növbədə burada tapa biləcəyimiz Arduino IDE -nin ən son versiyasına ehtiyacımız olacaq.

ESP32 -ni Arduino nüvəsi ilə istifadə etdiyimiz üçün bu nüvəni Arduino IDE -yə quraşdırmalıyıq. Github -dan Arduino IDE -də ESP32 inkişaf etdirmə kartınızı istifadə edə biləcəyiniz üçün sizə lazım olan proqramı və konfiqurasiyanı göstərən bu sadə təlimatı izləyin.

Sistemimizin işləməsi üçün iki əlavə kitabxanaya da ehtiyacımız olacaq. Birincisi, Weather Underground -dan aldığımız şey olan JSON istəklərini oxumağa və təhlil etməyə imkan verən bir Arduino JSON kitabxanasıdır. Bu iki kitabxananı şəxsi Dropboxumdan və ya aşağıda endirə bilərsiniz. Faylları əldə etdikdən sonra onları çıxarın və Arduino kitabxana qovluğuna yerləşdirin. Ümumiyyətlə C: / Users / YOUR_NAME / Documents / Arduino / library -də yerləşir. IDE -ni yenidən başladığınızdan əmin olun, əks halda Arduino yeni əlavələri almayacaq. Əsas Arduino SRC kodu da həmin qovluqdadır. Kitabxanada Waveshare ekranlarından verilən nümunənin dəyişdirilmiş bir versiyası da var. Fayllar GPIO -ları ilə ESP32 modulunda çalışmaq üçün dəyişdirildi və ayın müxtəlif mərhələləri üçün bütün şəkilləri özündə əks etdirən yeni bir "font" tətbiq etdim.

Addım 4: Dövrə

Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə

Yaxşı, bunun üçün sxem olduqca sadədir və yalnız bir neçə komponent və tel tələb edir.

Ümumi fikir budur ki, Lipo şarj cihazı dövrəmiz, bizə 5V vermək üçün bir gücləndirici çevirici və sonra gərginliyi 3.3V -ə endirən ESP32 Dev Kiti var. Bu 3.3V, Waveshare E-Ink ekranı üçün də istifadə olunur. Bəli, xətti bir tənzimləyici ilə gücləndirildikdən sonra aşağı düşdüyünə görə bir az səmərəsizdir, lakin ESP32 çox qorxunc bir gərginlik aralığında işləyir. 2.5 - 3.6V ətrafında. Bu, xüsusilə lityum polimer hüceyrələri istifadə edən batareyalar üçün uyğun deyil.

Əsas naqillər aşağıdakı kimidir:

  • ESP32 Dev Kit -də 5V çıxış Vin & GND çeviricisini gücləndirin
  • ESP32 3.3V 3.3V və GND E-Mürekkep Ekranı
  • ESP32 PIN 18 CLK E-Mürekkep Ekranı
  • ESP32 PIN 23 DIN/MOSI E-Mürekkep Ekranı
  • ESP32 PIN 5 CS/SS E-Mürekkep Ekranı
  • ESP32 PIN 32 DC E-Mürekkep Ekranı
  • ESP32 PIN 33 RST E-Mürekkep Ekranı
  • ESP32 PIN34 BUSY E-Mürekkep Ekranı

Kabellərin çox sadə olduğunu görə bilərsiniz və DIY lövhələrimin qurulması cəmi 15 dəqiqə çəkdi. Güc verməzdən əvvəl multimetrlə qısa dövrələrin olub olmadığını yoxlayın.

Yuxu rejimində təxminən 40mA gücə qənaət etmək üçün LED -ləri ESP32 və Lipo gücləndirici lövhəmdən çıxardım. Bu, batareyaların bir az daha uzun müddət dayanmasına kömək edəcək. İstəyirsinizsə, güc açarı, enerji qənaət dövrəsi, avtomatik ayırma və s. Bu layihəni genişləndirə və istədiyiniz qədər kompleks edə bilərsiniz.

Addım 5: Kod

Kod
Kod
Kod
Kod
Kod
Kod
Kod
Kod

Kodu 3 -cü addımda verilən qovluqda tapa bilərsiniz və ya.ino faylını aşağıdan yükləyə bilərsiniz. Hər şeyin birlikdə işləməsi üçün 3 -cü addımda qeyd edildiyi kimi əlaqəli kitabxanaları quraşdırmalısınız. Kod işlək vəziyyətdə olduğu üçün bu addım üçün çox şey söyləmək olmaz. Proqramı sınamadan əvvəl SSID və şəbəkə şifrənizi daxil etməyinizə əmin olun, hər zaman yaxınlıqdakı simsiz şəbəkələri aşkar etmək üçün ESP32 WiFi Taramasını işlədə bilərsiniz, lakin proqramımda şəbəkə məlumatları yalnız kod və kodla təyin edilmişdir. Bəlkə hansı şəbəkəyə qoşulmaq istədiyinizi soruşmaq üçün onu dəyişə bilərsiniz:)

Kod olduqca sadədir və önümüzdəki bir neçə həftə ərzində onu şərh etmək və təkmilləşdirmək üçün bir az vaxt sərf edəcəyəm. Əsasən bir şəbəkəyə, mənim vəziyyətimdə ev şəbəkəmə qoşuluruq. Daha sonra Weather Underground -a qoşulmağa və veb səhifədən JSON mətnini almağa çalışırıq. ArduinoJSON kitabxanası daha sonra çıxarmaq üçün istifadə olunur. və ya təhlil etsəniz, JSON kodunu istifadəçiyə göstərməzdən əvvəl dəyərləri manipulyasiya etməyimizə imkan verən char massivlərinə və ya sətirlərə ayıraq. Kodun son hissəsi ciddi şəkildə GUI -ni proqramlaşdırmaq üçündür və sınaq və səhvlə edildi. Ekrana baxdım, aktiv mövqeyini artırdım və ya azaltdım və şrift ölçüsünün, düzülüşünün və şəkillərinin necə göründüyündən məmnun olana qədər kodu yenidən işlədim.

Gücə qənaət etmək üçün ESP32 üçün dərin bir yuxu rejimi tətbiq etdim. Varsayılan 60 saniyədir, lakin ən azı bir neçə saat ərzində yeniləmələr baş vermədiyi üçün dəyəri bir və ya iki saata dəyişməyi təklif edirəm. Misal saniyələri qəbul edir, buna görə dönüşümləri düzgün etdiyinizə əmin olun.

Yeni bir yazı tipi üçün altıbucaqlı seriallar yaratmaq üçün Dot Factory proqramından da istifadə etdim. Bu yazı tipi, ay fazaları üçün "şəkillər" yaratmaq üçün istifadə olunur. Şriftlər faylını redaktə etmək istəyirsinizsə, yuxarıda göstərilən proqramı nəsil üçün istifadə etdiyinizə əmin olun. E-Ink kitabxanasının yaxşı sənədləşdirilməməsi və müvəffəqiyyətimin çoxunun sınaq və səhv sayəsində olması bir az qarışıqdır. Bu kodla daha çox vaxt keçirəndə, tapıntılarım haqqında daha çox məlumat vermək üçün Təlimatçını yeniləyəcəyəm.

Ay fazaları üçün istifadə olunan şrift standart ASCII planına uyğun olaraq edilməlidir. EPD-master qovluğunda font24 açarsanız, 1-ci qrafikin ağ boşluqla təyin olunduğu düzeni görə bilərsiniz, ikincisi "!" (nida işarəsi) və s. Əlaqəli şrifti kodun son hissəsində 3 nömrəsi və ya hashtag simvolu ilə çəkdiyimi görəcəksiniz (funksiya getLunarChar). Bunun səbəbi, Arduino -nun ASCII standartını 32 -dən 127 -ə qədər gözləməsidir. Faktiki şriftlərlə heç bir əlaqəsi olmayan şriftlərdən və daha çox ay fazası qrafik matrisindən istifadə etdiyimiz üçün ASCII xarakterinin seçdiyimiz ay fazası görüntüsünə istinad etməsini təmin etməliyik. Bu o deməkdir ki! işarəsi, ay fazası yazı tipimiz bizə bu siyahıda ikinci ay fazası qrafikini göstərir. Ay fazası yazı tipinə baxsanız, hər biri fərqli işıqlandırma səviyyəsinə malik olan bir çox ay fazasını görəcəksiniz. Gələcəkdə tətbiq etdiyimiz bütün qrafiklərdən istifadə etmək üçün daha çox kod əlavə edəcəyəm. Hal -hazırda yalnız bir neçəsini istifadə edirik, lakin qrafiklər artıq ay fazası şriftində tətbiq olunur və bundan istifadə etmək üçün kodda tətbiq olunmalıdır.

Addım 6: Son Quraşdırma

Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi

Quruluşun son və ən məmnun edən hissəsi montaj prosesidir. Lövhəmə uyğun bir korpus hazırladım və 3D çap etdim. Layihə çox DIYdir, heç bir peşəkar PCB və ya tək bir standart plan yoxdur. Çox vaxt istifadə etdiyim qutu, istifadə etmək istədiyiniz hər hansı bir lipo şarj cihazı və ya gücləndirici çeviricini yerləşdirmək üçün kifayət qədər böyükdür. Bu Təlimatda göstərilən eyni əsas funksiyanı təmin etdikləri müddətcə yaxşı olmalısınız.

Korpusun yuxarı və aşağı yarısını bir yerdə tutmaq üçün 4 vint və DIY sxemimi quraşdırmaq üçün isti yapışqan istifadə etdim. Batareyanı tutmaq üçün çox kiçik yapışqan damcılarından istifadə etdim, amma daha çox vaxtım olsaydı, bütün elektronika üçün xüsusi bir mötərizə hazırlayardım.

Arxa tərəfdəki bir düymə üçün bir çuxur açmağa qərar verdim. Bu, cihazı 24/7 işləməyi planlaşdırmırsınızsa, batareyanı gücləndirici çeviricidən ayırır. Təəssüf ki, gücləndirici çevirici ESP32 -iniz dərin yuxu rejimində olsa belə hələ də gücdən istifadə edir.

Ümumiyyətlə nəticədən çox məmnunam. ESP32 istifadə edərkən çox şey öyrəndim və özümü gələcəkdə müxtəlif layihələr üçün istifadə etdiyimi görə bilərəm.

Hər hansı bir sualınız varsa, soruşmaqdan çekinmeyin, kömək etməkdən daha çox istəyərəm və bu Təlimatda hər hansı bir səhv taparsanız, zəhmət olmasa mənə bildirin.

EDIT: Əslində, CNC maşını 3D çap versiyası yerinə kiçik bir qutu etdim ki, bu da xüsusi şəkillərdə görürsünüz.

EDIT: Seçilmiş şəkillərdə 99% işıqlandırma ilə dolunay görürük. Beləliklə, ağ dairə, ay tipik mərhələlərini keçdikcə, ayın görüntüsü də buna uyğun olaraq dəyişəcək. Ayın fazaları boyunca irəlilədikcə daha çox şəkillər yüklənəcək, beləliklə qrafik təsvirini əldə edə bilərsiniz.

Space Challenge
Space Challenge
Space Challenge
Space Challenge

Space Challenge -da Runner Up

Tövsiyə: