Mundarija:

To'lqin va ob -havo soati: 9 qadam (rasmlar bilan)
To'lqin va ob -havo soati: 9 qadam (rasmlar bilan)

Video: To'lqin va ob -havo soati: 9 qadam (rasmlar bilan)

Video: To'lqin va ob -havo soati: 9 qadam (rasmlar bilan)
Video: Ajoyib boshqotirma | 4 ta to'g'ri chiziq bilan 9 ta nuqtani kesib o'ting. 2024, Noyabr
Anonim
To'lqin va ob -havo soati
To'lqin va ob -havo soati

Garchi siz analog to'lqinli soatlarni sotib olsangiz ham, bir qo'lli, to'lqin baland yoki pastmi yoki biron bir joyni ko'rsatadimi, lekin men xohlagan narsam - bu qachon past to'lqin bo'lishini aytardi. Men yoqishni, tugmachalarni bosmaslikni yoki kutishni xohlamasdan, tezda qaraydigan narsani xohlardim. Va men batareyaning ishlash muddati uzoq bo'lgan narsani xohlardim. Shunday qilib, men TTL5110 chipiga ulangan, 2,13 dyuymli elektron qog'ozli displeyli ESP32 asosidagi TTGO T5 platasini ishlatardim. TPL5110 har 2,5 soatda T5-ni yoqadi va T5 kuniga bir marta to'lqin ma'lumotlarini yuklaydi. NOAA va OpenWeatherMap-dan ob-havo ma'lumotlari elektron qog'ozda ma'lumotlarni ko'rsatadi, keyin TPL5110 ga T5-ni o'chirishni aytadi.

YANGILASH (25 -fevral, 2020 -yil) Tide Clock bir yildan beri ishlaydi va batareya quvvati 4,00 volt, shuning uchun soat ko'p yillar davomida ishlashi mumkin edi.

1 -qadam: Uskuna ro'yxati

TTGO T5 taxtasi 17 dollar

Adafruit TPL5110 taxtasi 5 dollar

Adafruit Perma-Proto chorak o'lchamli taxta (ixtiyoriy) $ 0,71 (minimal buyurtma $ 8,50)

Li-Poly batareyasi 1200 mA / soat 10 dollar (yoki boshqa tegishli quvvat manbai)

JST PH 2-pinli kabel-erkak sarlavhasi $ 0,75

220 uF kondansatör

2 -qadam: asboblar

Lehimlash temir

Tel -chiziqlar

Li-Po batareyali zaryadlovchi, masalan.

3 -qadam: Uskuna yig'ish

Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish

Uskunani yig'ish sxemada ko'rsatilgandek juda oddiy. Men Adafruit Perma-proto taxtasidan foydalandim, u oddiy protobardga o'xshaydi, faqat non taxtasiga o'xshab joylashtirilgan, xuddi elektr taxtasi bilan bir xil. Menga faqat bir nechta ulanish kerak edi va men butun yig'ishni kichik qutiga joylashtirmoqchi edim, men Dremel g'ildiragi bilan taxtalardan birini to'rtdan biriga kesib oldim.

220 uF kondansatör juda muhim ahamiyatga ega. Busiz, TPL5110 hech qachon T5 -ni yoqmaydi. Buning sababi biroz tushunarsiz, lekin TPL5110 -dan foydalanadigan boshqa odamlar ham xuddi shunday muammoga duch kelishgan. Ehtimol, ESP32 ishga tushganda TTL5110 etkazib bera olgandan ko'ra ko'proq oqimni tortib oladimi?

Batareyani qattiq tortmang. JST-PH kabelidan foydalaning, shunda siz batareyani zaryadlash uchun ajratishingiz mumkin. Agar TPL5110 "yoqilgan" bo'lsa, batareyani T5 dan TPL5110 orqali zaryad qilishning bir yo'li bo'lishi mumkin, lekin men bu texnikani kafolatlay olmayman.

Men yog'och qutini korpus sifatida yasadim, lekin ichki minimal o'lchamlari 1,5 "x 2,75" x 1 "bo'lgan hamma narsa ishlaydi.

4 -qadam: Vaqtni sozlang

TPL5110 taxtasida TPL5110 uyg'onadigan vaqt oralig'ini belgilaydigan trim potentsiometr mavjud. Kichkina tornavida yordamida soat yo'nalishi bo'yicha teskari yo'nalishda aylantiring. Mening bortimda bu intervalni 145 daqiqaga o'rnatdi, bu aslida belgilangan maksimal 120 daqiqadan ko'proq, lekin u ishlaydi va izchil edi va har 120 daqiqada uyg'onishdan ko'ra ko'proq quvvatni tejaydi, shuning uchun men uni ishlatardim. Vaqt oralig'ini aniq bilishning hojati yo'q, chunki maqsad - taxminan kuniga bir marta, taxminan soat 4 da. Env_config.h -da siz intervalni (masalan, 145 daqiqa) va uyg'onish vaqtini (masalan, ertalab soat 4) belgilashingiz mumkin.

(Agar siz boshqa loyiha uchun vaqtni yaxshiroq nazorat qilishni xohlasangiz, TPL5110 kartasining orqa tomonida potentsiometrni o'chirish uchun kesish mumkin bo'lgan iz bor. Keyin rezistorni Kechiktirish piniga ulang va qarshilik intervalni aniqlaydi. bu jadval.)

5 -qadam: Dasturiy ta'minot

Sizga ESP32 to'plami bilan Arduino IDE kerak bo'ladi. IDE -da, taxtangizni "ESP32 Dev Module" ga o'rnating.

Eskiz https://github.com/jasonful/Tides saytida mavjud va 3 kutubxonani talab qiladi:

  1. "ESP8266 ob -havo stantsiyasi", Arduino kutubxonasi menejerida mavjud (yoki bu erda). Sizga faqat 6 ta fayl kerak bo'ladi: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h va qolganlarini o'chirib tashlash mumkin.
  2. "Json Streaming Parser" Arduino kutubxonasi menejerida mavjud (yoki bu erda)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Garchi kod haqiqiy kutubxona sifatida paketlanmagan bo'lsa ham, uni kutubxonalar katalogiga ko'chirib olishingiz mumkin. u

6 -qadam: dasturiy ta'minotni sozlash

Env_config.h faylida siz o'rnatishingiz kerak bo'lgan bir nechta parametrlar mavjud (va siz belgilashingiz mumkin).

  • WiFi SSID va parol
  • NOAA stantsiyasining identifikatori (boshqacha aytganda, qayerdasiz)
  • OpenWeatherMap AppID, siz ro'yxatdan o'tishingiz kerak (bu oson va bepul)
  • OpenWeatherMap LocationID (yana qayerdasiz)
  • CONFIG_USE_TPL5110, bu T55ni TPL5110siz ishlatishga imkon beradi. Buning o'rniga, dasturiy ta'minot chuqur uyqu rejimiga o'tadi. T5 taxtasi chuqur uyquda taxminan 8 ma oladi, shuning uchun akkumulyator bir necha kunga yetadi.

7 -qadam: Dastur qanday ishlaydi

(Agar siz bunga ahamiyat bermasangiz, bu qismni o'tkazib yuborishingiz mumkin.)

Maqsad - kuniga bir marta uyg'onish, lekin TPL5110 ning maksimal oralig'i atigi 2 soat bo'lgani uchun, T5 tez -tez uyg'onishi kerak. Shunday qilib, u to'lqin va ob -havo ma'lumotlarini yuklagandan so'ng, hozircha va ertaga ertalab soat 4:00 oralig'ida bu 2 soatlik intervallar qancha bo'lishini hisoblab chiqadi. Bu biroz murakkab, chunki TPL5110 T5 quvvatini butunlay qisqartiradi, bu batareya uchun yaxshi, lekin biz RAM va real vaqtda soatni yo'qotamiz. Bu har kuni ertalab amneziya bilan uyg'onishga o'xshaydi. Shunday qilib, hozir soat nechada ekanligini aniqlash uchun uni NOAA HTTP sarlavhasidan chiqaradi. Va qancha 2 soatlik intervallar qolganligini eslash uchun, u yozib bo'lmaydigan saqlashga qarshi (flesh) yozadi. Har uyg'onganida, u hisoblagichni tekshiradi, kamaytiradi, saqlaydi va agar u noldan katta bo'lsa, u darhol TPL51110 ("Bajarildi") signalini yuboradi va uni uxlatadi. Hisoblagich nolga tushganda, kod yangi ma'lumotlarni yuklab oladi va hisoblagichni qayta hisoblab chiqadi.

8 -qadam: ishga tushiring

Uni ishga tushirish
Uni ishga tushirish

T5 -ning chap tomonidagi kalit yuqoriga (yoqilgan) holatida ekanligiga ishonch hosil qiling, eskizni T5 -ga yuklang va bir necha soniya ichida ekran to'lqin va ob -havo ma'lumoti bilan yangilanishi kerak.

Agar dasturiy ta'minotni disk raskadrovka qilish kerak bo'lsa, Tides.ino yuqori qismidagi "#define DEBUG 0" ni "#debine DEBUG 1" ga o'zgartiring. Bu ketma-ket disk raskadrovka chiqishini yoqadi, shuningdek elektron hujjatning pastki qismida yangi ma'lumotlarni yuklab olishdan oldin qolgan qayta boshlashlar soni va oxirgi marta yuklangan vaqtni ko'rsatadi.

9 -qadam: Kelajak yo'nalishlari

  1. Elektron qog'ozli displey bilan birgalikda TPL5110-dan foydalanish batareyaning zaryadlash muddati bilan tez-tez o'zgarmaydigan ma'lumotlarni ko'rsatish uchun ajoyib usuldir.
  2. Men buni loyihalashtirayotganda, men TSP5261 ESP8266 kartasi bo'lgan TrigBoard -dan foydalanishni o'ylardim. Buning uchun alohida elektron qog'ozli displey va elektron qog'oz drayverini olish kerak bo'lardi. Yoki bu kabi haydovchi+taxta kombinatsiyasi. Kodni ESP8266-ga o'tkazish uchun, menimcha, SSL kodi sertifikatlar o'rniga barmoq izlarini ishlatishi kerak, va doimiy bo'lmagan saqlash kodi EEPROM yoki RTC xotirasidan foydalanishi kerak.
  3. Men yaqinda Lolin32 taxtasi chuqur uyqu rejimida juda yaxshi ekanligini eshitdim: taxminan 100uA. TPL51110 taxtasi kabi yaxshi emas (Adafruit bo'yicha 20uA), lekin etarlicha yaxshi.
  4. OpenWeatherMap ob -havo ma'lumotlarini men ko'rsatganimdan ko'ra ko'proq qaytaradi. Bir joyda monoxrom piktogramma topishni talab qiladigan ikonka identifikatorlari.

Tavsiya: