Obsah:

Hodiny prílivu a počasia: 9 krokov (s obrázkami)
Hodiny prílivu a počasia: 9 krokov (s obrázkami)

Video: Hodiny prílivu a počasia: 9 krokov (s obrázkami)

Video: Hodiny prílivu a počasia: 9 krokov (s obrázkami)
Video: Три нимфы на фоне моря_Рассказ_Слушать 2024, November
Anonim
Hodiny prílivu a odlivu
Hodiny prílivu a odlivu

Napriek tomu, že si môžete kúpiť analógové hodiny s prílivom a odlivom, ktoré na jednej ruke ukazujú, či je príliv alebo odliv, alebo niečo medzi tým, chcel som niečo, čo by mi povedalo, v akom čase bude odliv. Chcel som niečo, na čo by som sa mohol rýchlo pozrieť bez toho, aby som to musel zapínať, stláčať akékoľvek tlačidlá alebo čakať. A chcel som niečo s dlhou výdržou batérie. Použil som teda dosku TTGO T5, čo je doska na báze ESP32 s 2,13 palcovým displejom z elektronického papiera, napojená na čip TTL5110. TPL5110 zapne T5 každých 2,5 hodiny a raz za deň T5 stiahne údaje o prílive z Údaje NOAA a počasie z OpenWeatherMap, zobrazia údaje na e-papieri a potom oznámia TPL5110, aby vypol T5.

AKTUALIZÁCIA (25. februára 2020) Hodiny prílivu a odlivu fungujú už jeden rok a batéria má napätie 4,00 voltu, takže hodiny môžu fungovať aj niekoľko rokov.

Krok 1: Zoznam hardvéru

Doska TTGO T5 17 dolárov

Doska Adafruit TPL5110 5 dolárov

Doska štvrťročnej veľkosti Adafruit Perma-Proto (voliteľné) 0,71 dolára (minimálna objednávka 8,50 dolára)

Batéria Li-Poly 1200 mAh 10 $ (alebo iný vhodný zdroj energie)

2-kolíkový kábel JST PH-zástrčka konektora 0,75 dolára

Kondenzátor 220 uF

Krok 2: Nástroje

Spájkovačka

Odizolovače drôtov

Nabíjačka batérií Li-Po, ako je táto.

Krok 3: Zostavte hardvér

Zostavte hardvér
Zostavte hardvér
Zostavte hardvér
Zostavte hardvér
Zostavte hardvér
Zostavte hardvér

Zostavenie hardvéru je veľmi jednoduché, ako ukazuje schéma. Použil som dosku Adafruit Perma-proto, ktorá je ako normálny protoboard, okrem toho, že je rozložená ako doska na chlieb, s rovnakými elektrickými pripojeniami ako doska na chlieb, čo je pekné. Keďže som potreboval iba niekoľko spojení a chcel som celú zostavu zmestiť do malej škatule, jednu z dosiek som rozrezal na štvrtiny pomocou rozpojovacieho kolieska Dremel.

Kondenzátor 220 uF je veľmi dôležitý. Bez neho TPL5110 nikdy nezapne T5. Nie je jasné, prečo, ale ďalší ľudia používajúci TPL5110 mali rovnaký problém. Možno, že ESP32 odoberá pri štarte viac prúdu, ako môže poskytnúť TTL5110?

Batériu nepripájajte napevno. Použite kábel JST-PH, aby ste mohli batériu odpojiť a nabiť. Existuje spôsob, ako nabiť batériu z T5 späť cez TPL5110, ak je TPL5110 „zapnutý“, ale za túto techniku nemôžem ručiť.

Vyrobil som drevenú škatuľu ako ohradu, ale čokoľvek s minimálnymi vnútornými rozmermi 1,5 "x 2,75" x 1 "by fungovalo.

Krok 4: Vylaďte načasovanie

Doska TPL5110 má trimovací potenciometer, ktorý nastavuje časový interval, v ktorom sa TPL5110 prebúdza. Pomocou malého skrutkovača to otočte úplne proti smeru hodinových ručičiek. Na mojej doske sa tým nastavil interval na 145 minút, čo je v skutočnosti viac, ako je uvedených 120 minút, ale funguje to a bolo to dôsledné a ušetrí to ešte viac energie ako prebúdzanie každých 120 minút, takže som to využil. Interval nemusíte presne poznať, pretože cieľom je sťahovať údaje zhruba raz za deň zhruba okolo 4:00. Interval (napr. 145 minút) a čas prebudenia (napr. 4:00) môžete zadať v súbore env_config.h.

(Ak chcete lepšie ovládať načasovanie pri inom projekte, doska TPL5110 má na zadnej strane stopu, ktorú môžete vystrihnúť, aby ste potenciometer deaktivovali. Potom na kolík Delay pripojíte odpor a odpor určuje interval podľa tento graf.)

Krok 5: Softvér

Budete potrebovať Arduino IDE s balíkom ESP32. V IDE nastavte dosku na „Vývojový modul ESP32“.

Náčrt je k dispozícii na https://github.com/jasonful/Tides a vyžaduje 3 knižnice:

  1. „Meteostanica ESP8266“, dostupná u správcu knižnice Arduino (alebo tu). Budete potrebovať iba týchto 6 súborov: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h a zvyšok môžete odstrániť.
  2. „Json Streaming Parser“je k dispozícii u správcu knižníc Arduino (alebo tu)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Aj keď kód nie je zabalený ako skutočná knižnica, stačí ho skopírovať do adresára vašich knižníc a zahrnúť to.

Krok 6: Konfigurujte softvér

V súbore env_config.h je potrebné nastaviť (a niekoľko možno budete chcieť nastaviť) vrátane týchto:

  • WiFi SSID a heslo
  • ID stanice NOAA (inými slovami, kde ste)
  • OpenWeatherMap AppID, ku ktorému sa budete musieť zaregistrovať (je to jednoduché a bezplatné)
  • OpenWeatherMap LocationID (znova, kde ste)
  • CONFIG_USE_TPL5110, ktorý vám umožňuje používať T5 bez TPL5110. Namiesto toho softvér prejde do režimu hlbokého spánku. Doska T5 čerpá v hlbokom spánku asi 8 mA, takže by som len očakával, že batéria vydrží niekoľko dní.

Krok 7: Ako softvér funguje

(Ak vás to nezaujíma, môžete túto časť preskočiť.)

Cieľom je prebúdzať sa raz denne, ale keďže maximálny interval TPL5110 je len asi 2 hodiny, T5 sa musí prebúdzať častejšie. Potom, čo si stiahne údaje o prílive a počasí, vypočíta, koľko z týchto 2 hodinových intervalov je odteraz do zajtra ráno do 4:00 hod. To je mierne komplikované skutočnosťou, že TPL5110 úplne prerušuje napájanie T5, čo je dobré pre batériu, ale znamená to, že stratíme RAM a hodiny v reálnom čase. Je to ako prebúdzať sa každé ráno s amnéziou. Aby zistil, koľko je hodín, extrahuje ho z hlavičky HTTP NOAA. A aby si pamätal, koľko zostávajú 2-hodinové intervaly, píše to v rozpore s energeticky nezávislým úložiskom (flash). Zakaždým, keď sa prebudí, skontroluje počítadlo, zmenší ho, uloží a ak je väčší ako nula, okamžite vyšle signál na TPL51110 („Hotovo“), aby mu oznámil, že ho má uspať. Keď počítadlo dosiahne nulu, kód stiahne nové údaje a počítadlo prepočíta a vynuluje.

Krok 8: Spustite ho

Spustite ho
Spustite ho

Uistite sa, že prepínač na ľavej strane T5 je v hornej (zapnutej) polohe, nahrajte skicu do T5 a do niekoľkých sekúnd by sa mala obrazovka aktualizovať s informáciami o prílive a počasí.

Ak potrebujete ladiť softvér, zmeňte „#define DEBUG 0“v hornej časti stránky Tides.ino na „#define DEBUG 1“. Zapne sa výstup sériového ladenia a v spodnej časti elektronického papiera sa tiež zobrazí počet zostávajúcich reštartov pred stiahnutím nových údajov a čas posledného stiahnutia údajov.

Krok 9: Budúce smery

  1. Použitie TPL5110 v kombinácii s displejom na elektronický papier je skvelý spôsob, ako zobraziť všetky údaje, ktoré sa často nemenia, s vynikajúcou výdržou batérie.
  2. Keď som to navrhoval, zvažoval som použiť TrigBoard, čo je doska ESP8266 s integrovaným TPL5111. Vyžadovalo by to získanie samostatného displeja pre elektronický papier a dosky ovládača pre elektronický papier, alebo nie. Alebo takáto alebo táto kombinácia ovládača a dosky. Myslím, že na prenos kódu do ESP8266 bude musieť kód SSL namiesto certifikátov používať odtlačky prstov a energeticky nezávislý kód úložiska bude musieť používať pamäť EEPROM alebo RTC.
  3. Nedávno som počul, že doska Lolin32 je v režime hlbokého spánku celkom slušná: asi 100uA. Nie také dobré ako doska TPL51110 (20uA podľa Adafruit), ale dosť dobré.
  4. OpenWeatherMap vracia oveľa viac údajov o počasí, ako zobrazujem. Vrátane ID ikon, ktoré by si vyžadovali niekde nájsť monochromatické ikony.

Odporúča: