Mündəricat:
- Addım 1: Avadanlıq siyahısı
- Addım 2: Alətlər
- Addım 3: Avadanlıq yığın
- Addım 4: Zamanlamanı tənzimləyin
- Addım 5: Proqram təminatı
- Addım 6: Proqramı konfiqurasiya edin
- Addım 7: Proqramın Necə Çalışdığı
- Addım 8: Çalışdırın
- Addım 9: Gələcək istiqamətlər
Video: Gelgit və hava saatı: 9 addım (şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Gelgitin yüksək və ya aşağı olduğunu və ya arada bir yerdə olduğunu göstərən tək əli olan analoji gelgit saatları satın ala bilsəniz də, istədiyim şey aşağı gelgitin nə vaxt olacağını söyləyəcək bir şey idi. Açmaq, heç bir düyməyə basmamaq və ya gözləmək məcburiyyətində qalmadan tez baxa biləcəyim bir şey istədim. Və uzun bir batareya ömrü olan bir şey istədim. Beləliklə, TTL5110 çipinə qoşulan 2.13 e-kağız ekrana malik ESP32 əsaslı bir lövhə olan TTGO T5 lövhəsindən istifadə etdim. TPL5110 hər 2,5 saatda T5-i işə salır və T5 gündə bir dəfə gelgit məlumatlarını yükləyir. NOAA və OpenWeatherMap hava məlumatları, e-kağızdakı məlumatları göstərir, sonra TPL5110-a T5-i söndürməsini bildirir.
YENİLƏNİŞ (25 Fevral 2020) Tide Clock bir ildir işləyir və batareya 4.00 voltdur, buna görə də saat uzun illər işləyə bilər.
Addım 1: Avadanlıq siyahısı
TTGO T5 lövhəsi 17 dollar
Adafruit TPL5110 lövhəsi 5 dollar
Adafruit Perma-Proto Quarter ölçülü lövhə (isteğe bağlı) $ 0.71 (minimum sifariş $ 8.50)
Li-Poly batareya 1200 mAh $ 10 (və ya digər uyğun enerji mənbəyi)
JST PH 2-pinli kabel-Kişi başlığı $ 0,75
220 uF kondansatör
Addım 2: Alətlər
Lehimleme dəmir
Tel çıxarıcılar
Li-Po batareya şarj cihazı, bu kimi.
Addım 3: Avadanlıq yığın
Avadanlıqların yığılması sxematik şəkildə göstərildiyi kimi olduqca sadədir. Adafruit Perma-proto lövhəsindən istifadə etdim, ancaq adi bir protoboard kimi, çörək taxtası kimi qoyulub, çörək taxtası ilə eyni elektrik əlaqələri var, bu da gözəldir. Yalnız bir neçə əlaqəyə ehtiyacım olduğundan və bütün quruluşu kiçik bir qutuya sığdırmaq istədiyim üçün lövhələrdən birini Dremel kəsmə çarxı ilə dörddə birinə kəsdim.
220 uF kondansatör çox vacibdir. Onsuz, TPL5110 heç vaxt T5 -i açmayacaq. Niyə bir az aydın deyil, amma TPL5110 istifadə edən digər insanlar eyni problemlə üzləşdilər. Bəlkə ESP32, başlanğıcda TTL5110 -un təmin edə biləcəyindən daha çox cərəyan çəkir?
Batareyanı möhkəm bağlamayın. JST-PH kabelindən istifadə edin ki, şarj etmək üçün batareyanı ayırasınız. TPL5110 "açıq" olarsa, batareyanı T5 -dən TPL5110 vasitəsilə geri doldurmağın bir yolu ola bilər, amma bu texnikaya zəmanət verə bilmərəm.
Bir taxta bir qutu hazırladım, amma daxili ölçüləri 1,5 "x 2,75" x 1 "olan hər şey işləyəcək.
Addım 4: Zamanlamanı tənzimləyin
TPL5110 lövhəsində, TPL5110 -un oyandığı vaxt aralığını təyin edən trim potensiometr var. Kiçik bir tornavida istifadə edərək saat yönünün əksinə çevirin. Lövhəmdə bu aralığı 145 dəqiqəyə təyin etdi ki, bu da maksimum 120 dəqiqədən çoxdur, amma işləyir və ardıcıl idi və hər 120 dəqiqədə bir oyanmaqdan daha çox gücə qənaət edəcək, buna görə də istifadə etdim. Aralığı dəqiq bilməyinizə ehtiyac yoxdur, çünki məqsəd məlumatları təxminən gündə bir dəfə təxminən səhər 4 -də yükləməkdir. Env_config.h -də aralığı (məsələn, 145 dəqiqə) və oyanma vaxtını (məsələn, 4am) təyin edə bilərsiniz.
(Başqa bir layihə üçün vaxtın daha yaxşı idarə olunmasını istəyirsinizsə, TPL5110 lövhəsinin arxa tərəfində potensiometrini söndürmək üçün kəsə biləcəyiniz bir iz var. Sonra Gecikmə pininə bir rezistor bağlayırsınız və müqavimət uyğun olaraq aralığı təyin edir. bu qrafik.)
Addım 5: Proqram təminatı
ESP32 paketi olan Arduino IDE -yə ehtiyacınız olacaq. IDE -də lövhənizi "ESP32 Dev Modulu" olaraq təyin edin.
Eskiz https://github.com/jasonful/Tides saytında mövcuddur və 3 kitabxana tələb edir:
- "ESP8266 Hava İstasyonu", Arduino Kitabxana Menecerindən (və ya buradan) əldə edilə bilər. Yalnız bu 6 fayla ehtiyacınız olacaq: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h və qalanlarını silə bilərsiniz.
- "Json Streaming Parser" Arduino Kitabxana Menecerində mövcuddur (və ya burada)
- https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Kod əsl kitabxana kimi paketlənməsə də, onu kitabxana qovluğunun altına kopyalayıb daxil edə bilərsiniz. o.
Addım 6: Proqramı konfiqurasiya edin
Env_config.h faylında təyin etməli olduğunuz bir neçə parametr var (və bəzilərini təyin etmək istəyə bilərsiniz), o cümlədən:
- WiFi SSID və parol
- NOAA stansiya id (başqa sözlə, haradasan)
- Qeydiyyatdan keçməyiniz lazım olan OpenWeatherMap AppID (asan və pulsuzdur)
- OpenWeatherMap LocationID (yenə haradasınız)
- TPL5110 olmadan T5 istifadə etməyə imkan verən CONFIG_USE_TPL5110. Bunun əvəzinə proqram dərin yuxu rejiminə keçəcək. T5 lövhəsi dərin yuxuda təxminən 8 ma çəkir, buna görə batareyanın bir neçə gün dayanacağını gözləyərdim.
Addım 7: Proqramın Necə Çalışdığı
(Diqqət etməsəniz bu hissəni atlaya bilərsiniz.)
Məqsəd gündə bir dəfə oyanmaqdır, lakin TPL5110 -un maksimum aralığı cəmi 2 saat olduğu üçün T5 daha tez oyanmalıdır. Belə ki, gelgit və hava məlumatlarını yüklədikdən sonra bu səhər saat 4:00 arasında bu 2 saatlıq fasilələrin neçə olduğunu hesablayır. Bu, TPL5110-un T5-ə olan enerjisini tamamilə kəsməsi ilə əlaqədardır, bu da batareya üçün yaxşıdır, ancaq RAM və real vaxt saatını itiririk. Hər səhər amneziya ilə oyanmaq kimidir. İndi nə vaxt olduğunu anlamaq üçün NOAA -nın HTTP başlığından çıxarır. Və nə qədər 2 saatlıq fasilə qaldığını xatırlamaq üçün, uçucu olmayan saxlamanın əksinə yazır (flaş). Hər dəfə oyandıqda o sayğacı yoxlayır, azaldır, saxlayır və sıfırdan böyükdürsə dərhal onu yuxuya getməsini söyləyən TPL51110 ("Bitti") siqnalı göndərir. Sayğac sıfıra çatdıqda, kod yeni məlumatları yükləyir və sayğacı yenidən hesablayır və sıfırlayır.
Addım 8: Çalışdırın
T5 -in sol tərəfindəki açarın yuxarı (açıq) vəziyyətdə olduğundan əmin olun, eskizi T5 -ə yükləyin və bir neçə saniyə ərzində ekran gelgit və hava məlumatları ilə yenilənməlidir.
Proqramı ayıklamanız lazımdırsa, Tides.ino'nun üstündəki "#define DEBUG 0" ı "#define DEBUG 1" olaraq dəyişdirin. Bu, ardıcıl debug çıxışını açacaq və e-kağızın altındakı yeni məlumatları yükləməzdən əvvəl qalan yenidən başlamaların sayını və məlumatları son yükləmə vaxtını göstərəcəkdir.
Addım 9: Gələcək istiqamətlər
- TPL5110-un e-kağız displeyi ilə birlikdə istifadəsi, tez-tez dəyişməyən məlumatları əla batareya ömrü ilə göstərmək üçün əla bir yoldur.
- Bunu tərtib edərkən, üzərində TPL5111 olan ESP8266 lövhəsi olan TrigBoarddan istifadə etməyi düşündüm. Bunun üçün ayrı bir e-kağız ekranı və e-kağız sürücüsü lövhəsi almaq lazım olardı. Və ya belə bir sürücü+lövhə kombinasiyası. Kodu ESP8266-ya köçürmək üçün düşünürəm ki, SSL kodu sertifikatlar yerinə barmaq izlərindən istifadə etməli olacaq və uçmayan saxlama kodunun da EEPROM və ya RTC yaddaşından istifadə etməsi lazım olacaq.
- Bu yaxınlarda Lolin32 lövhəsinin dərin yuxu rejimində olduqca layiqli olduğunu eşitdim: təxminən 100uA. TPL51110 lövhəsi qədər yaxşı deyil (Adafruit görə 20uA), lakin kifayət qədər yaxşıdır.
- OpenWeatherMap, göstərdiyimdən daha çox hava məlumatlarını qaytarır. Bir yerdə monoxrom nişanlar tapmağı tələb edəcək simvol idləri də daxil olmaqla.
Tövsiyə:
Parlayan Hava Bubble Saatı; Powered by ESP8266: 7 Addım (Şəkillərlə birlikdə)
Parlayan Hava Bubble Saatı; ESP8266 ilə təchiz edilmişdir: "parlayan hava qabarcığı saatı" vaxtı və bəzi qrafikləri maye içərisində işıqlı hava baloncukları ilə göstərir. Led matrisli ekrandan fərqli olaraq, yavaş-yavaş sürüklənən, parlayan hava baloncukları mənə rahatlıq verəcək bir şey verir. 90-cı illərin əvvəllərində "baloncuk ekranı" xəyal edirdim. Geri alın
Raspberry Pi Barometrli Hava Saatı: 9 Addım (Şəkillərlə birlikdə)
Raspberry Pi Barometrli Hava Saatı: Bu təlimatda sizə Adafruit 4 rəqəmli 7 seqmentli I2C displeydə göstərilən BMP180 I2C sensoru olan bir Raspberry Pi 2 istifadə edərək əsas Termometr / Barometr saatının necə qurulacağını göstərəcəyəm. Pi, eyni zamanda DS3231 real vaxt I2C saat modulundan istifadə edir
Tiny Moon Gelgit Saatı: 5 addım (şəkillərlə birlikdə)
Tiny Moon Gelgit Saatı: Bu Alyaska SeaLife Mərkəzi ilə birlikdə həyata keçirilən bir layihədir. Tələbələrini elektron quruluşa və okean mühitinin monitorinqinə cəlb edəcək dənizlə əlaqəli bir layihə ilə maraqlandılar. Dizaynı nisbətən ucuzdur
Gelgit rejimində CountClock: 10 addım (şəkillərlə)
Gelgit rejimində CountClock: Qarışıqlığın qarşısını almaq üçün: Gelgit rejimində CountClock okean gelgitini göstərmir, ancaq vaxtı göstərir. Bu Təlimat kitabındakı gelgit aspekti, yüksələn gelgit kimi görünən zamanın əyani təqdimatına aiddir. CountClock ConceptThe Cou
ESP8266 Hava Saatı: 6 Addım (Şəkillərlə birlikdə)
ESP8266 Hava Saatı: Gəlişinizdən çox qürur duyuram və xoş gəldiniz