Tartalomjegyzék:

Dagály és időjárás: 9 lépés (képekkel)
Dagály és időjárás: 9 lépés (képekkel)

Videó: Dagály és időjárás: 9 lépés (képekkel)

Videó: Dagály és időjárás: 9 lépés (képekkel)
Videó: KÉRSZ KEKSZET?🤮 #shorts 2024, November
Anonim
Dagály és időjárás
Dagály és időjárás

Bár megvásárolhat analóg dagályos órákat, amelyek egyetlen kézzel jelzik, hogy az apály magas vagy alacsony, vagy valahol a kettő között, amit akartam, valami olyasmit akartam mondani, hogy mikor lesz apály. Szerettem volna valamit, amire gyorsan rápillanthatok anélkül, hogy be kellene kapcsolnom, nem nyomtam meg semmilyen gombot, vagy nem vártam. És akartam valamit, hosszú akkumulátor -élettartammal. Tehát egy TTGO T5 táblát használtam, amely egy ESP32 alapú kártya, 2,13 hüvelykes e-papír kijelzővel, TTL5110 chiphez csatlakoztatva. A TPL5110 2,5 óránként kapcsolja be a T5-öt, és a T5 naponta egyszer letölti az árapály adatokat Az OpenWeatherMap NOAA és időjárási adatai megjelenítik az adatokat az e-papíron, majd utasítják a TPL5110-et, hogy kapcsolja ki a T5-öt.

FRISSÍTÉS (2020. február 25.) A Tide Clock egy éve működik, és az akkumulátor 4,00 voltos feszültséggel rendelkezik, így az óra elképzelhető, hogy hosszú évekig üzemel.

1. lépés: Hardverlista

TTGO T5 tábla 17 dollár

Adafruit TPL5110 tábla 5 dollár

Adafruit Perma-Proto negyedik méretű tábla (opcionális) 0,71 USD (minimális rendelés 8,50 USD)

Li-Poly akkumulátor 1200 mAh $ 10 (vagy más megfelelő áramforrás)

JST PH 2 tűs kábel-férfi fejléc 0,75 USD

220 uF kondenzátor

2. lépés: Eszközök

Forrasztópáka

Huzalhúzók

Li-Po akkumulátortöltő, mint ez.

3. lépés: Szerelje össze a hardvert

Szerelje össze a hardvert
Szerelje össze a hardvert
Szerelje össze a hardvert
Szerelje össze a hardvert
Szerelje össze a hardvert
Szerelje össze a hardvert

A hardver összeszerelése meglehetősen egyszerű, mint a sematikus ábra mutatja. Adafruit Perma-proto táblát használtam, amely olyan, mint egy normál protoboard, kivéve, ha kenyérsütőlapként van elhelyezve, ugyanazokkal az elektromos csatlakozásokkal, mint a kenyérsütő, ami szép. Mivel csak néhány csatlakozóra volt szükségem, és az egész szerelvényt be akartam illeszteni egy kis dobozba, az egyik táblát negyedikre vágtam egy Dremel vágókoronggal.

A 220 uF kondenzátor nagyon fontos. Enélkül a TPL5110 soha nem kapcsolja be a T5 -öt. Kicsit nem világos, hogy miért, de a TPL5110 -et használó más személyeknél is ugyanez volt a probléma. Lehet, hogy az ESP32 nagyobb áramot vesz fel indításkor, mint amennyit a TTL5110 képes biztosítani?

Ne kösse be az akkumulátort. Használja a JST-PH kábelt, és válassza le az akkumulátort a töltéshez. Lehet, hogy van mód az akkumulátor feltöltésére a T5 -ről a TPL5110 -en keresztül, ha a TPL5110 "be van kapcsolva", de nem tudom garantálni ezt a technikát.

Fából készült dobozt készítettem házként, de bármi, amelynek minimális belső mérete 1,5 "x 2,75" x 1 ", működni fog.

4. lépés: Hangolja be az időzítést

A TPL5110 tábla trim potenciométerrel rendelkezik, amely beállítja a TPL5110 ébredésének időintervallumát. Egy apró csavarhúzóval forgassa el teljesen az óramutató járásával ellentétes irányba. A táblámon ez 145 percre állította az intervallumot, ami valójában több, mint a megadott 120 perc, de működik és következetes volt, és még több energiát takarít meg, mint 120 percenként ébredni, ezért használtam. Nem kell pontosan ismernie az intervallumot, mivel a cél csupán az adatok nagyjából napi egyszeri letöltése, nagyjából hajnali 4 óra körül. Az env_config.h webhelyen megadhatja az intervallumot (pl. 145 perc) és az ébresztési időt (pl. Hajnali 4 óra).

(Ha más projektek időzítését szeretné jobban szabályozni, a TPL5110 tábla hátulján nyomot talál, amelyet levághat a potenciométer kikapcsolásához. Ezután egy ellenállást rögzít a késleltető csaphoz, és az ellenállás határozza meg az intervallumot ezt a táblázatot.)

5. lépés: A szoftver

Szüksége lesz az Arduino IDE -re az ESP32 csomaggal. Az IDE -ben állítsa az alaplapot "ESP32 Dev Module" -ra.

A vázlat elérhető a https://github.com/jasonful/Tides webhelyen, és 3 könyvtárat igényel:

  1. "ESP8266 Weather Station", elérhető az Arduino Library Manager (vagy itt). Csak erre a 6 fájlra lesz szüksége: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h, és törölheti a többit.
  2. "Json Streaming Parser" elérhető az Arduino Library Manager (vagy itt)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Annak ellenére, hogy a kód nincs valódi könyvtárként csomagolva, egyszerűen átmásolhatja a könyvtárak könyvtárába, és azt.

6. lépés: Konfigurálja a szoftvert

Az env_config.h fájlban számos paramétert kell beállítania (és néhányat érdemes beállítani), beleértve:

  • WiFi SSID és jelszó
  • NOAA állomás azonosítója (más szóval, hol vagy)
  • OpenWeatherMap AppID, amelyre regisztrálnia kell (egyszerű és ingyenes)
  • OpenWeatherMap LocationID (ismét, hol vagy)
  • CONFIG_USE_TPL5110, amely lehetővé teszi a T5 használatát TPL5110 nélkül. Ehelyett a szoftver mély alvás módba lép. A T5 tábla körülbelül 8 mA -t vesz igénybe mély alvás közben, így csak néhány napig várnám az akkumulátort.

7. lépés: A szoftver működése

(Ezt a részt kihagyhatja, ha nem érdekli.)

A cél az, hogy naponta egyszer felébredjen, de mivel a TPL5110 maximális intervalluma csak körülbelül 2 óra, a T5 -nek gyakrabban kell felébrednie. Tehát miután letöltötte az árapály- és időjárási adatokat, kiszámítja, hogy ebből a 2 órás időtartamból hány van most és holnap reggel 4 óra között. Ezt kissé bonyolítja az a tény, hogy a TPL5110 teljesen lekapcsolja a T5 áramellátását, ami jó az akkumulátornak, de ez azt jelenti, hogy elveszítjük a RAM-ot és a valós idejű órát. Mintha minden reggel amnéziával ébrednék. Tehát, hogy megtudja, hány óra van most, kivonja a NOAA HTTP fejlécéből. És hogy emlékezzen arra, hogy hány 2 órás intervallum van még hátra, azt írja, hogy ellentmond a nem felejtő tárolásnak (flash). Minden alkalommal, amikor felébred, ellenőrzi a számlálót, csökkenti, tárolja, és ha nullánál nagyobb, azonnal jelet küld a TPL51110 -nek ("Kész"), és azt mondja, hogy tegye alvó állapotba. Amikor a számláló nullát ér el, a kód új adatokat tölt le, majd újraszámítja és visszaállítja a számlálót.

8. lépés: Futtassa

Futtasd
Futtasd

Győződjön meg arról, hogy a T5 bal oldalán lévő kapcsoló fel (be) állásban van, töltse fel a vázlatot a T5 -re, és néhány másodpercen belül a képernyőnek frissülnie kell az árapály- és időjárási információkkal.

Ha hibakeresést kell végeznie a szoftverrel, módosítsa a Tides.ino tetején található "#define DEBUG 0" értéket "#define DEBUG 1" értékre. Ez bekapcsolja a soros hibakeresési kimenetet, és az e-papír alján megjeleníti az új adatok letöltése előtt hátralévő újraindítások számát és az utolsó letöltési időt.

9. lépés: Jövőbeli irányok

  1. A TPL5110 használata e-papír kijelzővel kombinálva kiváló akkumulátor-élettartammal nagyszerű módja annak, hogy a gyakran nem változó adatokat megjelenítse.
  2. Amikor ezt terveztem, fontolóra vettem a TrigBoard használatát, amely egy ESP8266 tábla TPL5111 -el. Ehhez külön e-papír kijelző és e-papír meghajtó tábla beszerzése kellett volna. Vagy egy illesztőprogram+tábla kombináció, mint ez vagy ez. A kód ESP8266-ba történő portolásához szerintem az SSL kódnak ujjlenyomatot kell használnia a tanúsítványok helyett, a nem felejtő tároló kódnak pedig EEPROM vagy RTC memóriát kell használnia.
  3. Nemrég hallottam, hogy a Lolin32 tábla mély alvó üzemmódban elég jó: körülbelül 100uA. Nem olyan jó, mint a TPL51110 tábla (az Adafruit szerint 20uA), de elég jó.
  4. Az OpenWeatherMap sokkal több időjárási adatot ad vissza, mint amit megjelenítek. Beleértve az ikonazonosítókat is, amelyekhez valahol monokróm ikonokat kell keresni.

Ajánlott: