Sisällysluettelo:

Vuorovesi- ja sääkello: 9 vaihetta (kuvilla)
Vuorovesi- ja sääkello: 9 vaihetta (kuvilla)

Video: Vuorovesi- ja sääkello: 9 vaihetta (kuvilla)

Video: Vuorovesi- ja sääkello: 9 vaihetta (kuvilla)
Video: vuorovesi 2024, Marraskuu
Anonim
Vuorovesi- ja sääkello
Vuorovesi- ja sääkello

Vaikka voit ostaa analogisia vuorovesi -kelloja, joissa on yksi käsi ja jotka osoittavat, onko vuorovesi korkea vai matala vai jossain välissä, halusin jotain, joka kertoisi minulle, milloin laskuvesi on. Halusin jotain, johon voisin vilkaista nopeasti ilman, että tarvitsisin käynnistää sen, painaa mitään painikkeita tai odottaa. Ja halusin jotain, jolla olisi pitkä akunkesto. Joten käytin TTGO T5 -korttia, joka on ESP32-pohjainen kortti, jossa on 2,13 tuuman e-paperinäyttö ja joka on yhdistetty TTL5110-siruun. TPL5110 kytkee T5: n päälle 2,5 tunnin välein ja kerran päivässä T5 lataa vuorovesitiedot NOAA- ja säätiedot OpenWeatherMapista, näyttää tiedot sähköisessä paperissa ja kehottaa sitten TPL5110: tä sammuttamaan T5: n.

PÄIVITTÄMINEN (25. helmikuuta 2020) Vuorovesi -kello on ollut käynnissä nyt vuoden, ja akun jännite on 4,00 volttia, joten kello voi toimia useiden vuosien ajan.

Vaihe 1: Laitelista

TTGO T5 -levy 17 dollaria

Adafruit TPL5110 -levy 5 dollaria

Adafruit Perma-Proto Quarter-kokoinen levy (valinnainen) 0,71 $ (vähimmäistilaus 8,50 $)

Li-Poly-akku 1200 mAh 10 dollaria (tai muu sopiva virtalähde)

JST PH 2-nastainen kaapeli-urosliitin 0,75 dollaria

220 uF kondensaattori

Vaihe 2: Työkalut

Juotin

Langanpoistimet

Li-Po-laturi, kuten tämä.

Vaihe 3: Kokoa laitteisto

Kokoa laitteisto
Kokoa laitteisto
Kokoa laitteisto
Kokoa laitteisto
Kokoa laitteisto
Kokoa laitteisto

Laitteiston kokoaminen on melko yksinkertaista, kuten kaavio osoittaa. Käytin Adafruit Perma-proto -levyä, joka on kuin tavallinen protoboard, paitsi että se on asetettu leipälautaksi, ja siinä on samat sähköliitännät kuin leipälauta, mikä on mukavaa. Koska tarvitsin vain muutamia liitäntöjä ja halusin sovittaa koko kokoonpanon pieneen laatikkoon, leikkasin yhden levyistä neljänniksi Dremelin katkaisupyörällä.

220 uF: n kondensaattori on erittäin tärkeä. Ilman sitä TPL5110 ei koskaan käynnistä T5: tä. On hieman epäselvää, miksi, mutta muilla TPL5110: tä käyttävillä ihmisillä on ollut sama ongelma. Ehkä ESP32 ottaa enemmän virtaa käynnistettäessä kuin TTL5110 pystyy syöttämään?

Älä yhdistä akkua. Käytä JST-PH-kaapelia, jotta voit irrottaa akun ladataksesi sen. Voi olla tapa ladata akku T5: stä takaisin TPL5110: n kautta, jos TPL5110 on "päällä", mutta en voi taata tätä tekniikkaa.

Tein puulaatikon koteloksi, mutta kaikki, joiden sisämitat ovat vähintään 1,5 "x 2,75" x 1 ", toimisivat.

Vaihe 4: Säädä ajoitus

TPL5110 -kortissa on trimmauspotentiometri, joka asettaa ajanjakson, jona TPL5110 herää. Käännä tätä pienellä ruuvimeisselillä vastapäivään. Taulullani tämä asetti aikaväliksi 145 minuuttia, mikä on itse asiassa enemmän kuin 120 minuutin maksimiarvo, mutta se toimii ja oli johdonmukainen ja säästää jopa enemmän virtaa kuin herääminen 120 minuutin välein, joten käytin sitä. Sinun ei tarvitse tietää aikaväliä tarkasti, koska tavoitteena on vain ladata tietoja suunnilleen kerran päivässä noin neljän aikaan aamulla. Voit määrittää aikavälin (esim. 145 minuuttia) ja herätysajan (esim. Klo 4.00) osoitteessa env_config.h.

(Jos haluat hallita paremmin jonkin muun projektin ajoitusta, TPL5110 -levyn takana on jälki, jonka voit leikata poistaaksesi potentiometrin käytöstä. Sitten kiinnität vastuksen viiveeseen ja vastus määrittää aikavälin tämä kaavio.)

Vaihe 5: Ohjelmisto

Tarvitset Arduino IDE: n ESP32 -paketin kanssa. Aseta IDE -kortillesi "ESP32 Dev Module".

Luonnos on saatavilla osoitteessa https://github.com/jasonful/Tides ja vaatii 3 kirjastoa:

  1. "ESP8266 Weather Station", saatavana Arduinon kirjastonhoitajalta (tai täältä). Tarvitset vain nämä 6 tiedostoa: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h ja voit poistaa loput.
  2. "Json Streaming Parser" saatavilla Arduinon kirjastonhoitajalta (tai täältä)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Vaikka koodia ei ole pakattu todelliseksi kirjastoksi, voit kopioida sen kirjastohakemistoosi ja sisällyttää sen se.

Vaihe 6: Määritä ohjelmisto

Env_config.h -tiedostossa on määritettävä useita parametreja (ja muutamia, joita haluat ehkä määrittää), mukaan lukien:

  • WiFi SSID ja salasana
  • NOAA -aseman tunnus (toisin sanoen missä olet)
  • OpenWeatherMap AppID, johon sinun on rekisteröidyttävä (se on helppoa ja ilmaista)
  • OpenWeatherMap LocationID (taas missä olet)
  • CONFIG_USE_TPL5110, jonka avulla voit käyttää T5: tä ilman TPL5110: tä. Sen sijaan ohjelmisto siirtyy syvään lepotilaan. T5 -levy kuluttaa noin 8 mA syvässä unessa, joten odotan vain akun kestävän muutaman päivän.

Vaihe 7: Kuinka ohjelmisto toimii

(Voit ohittaa tämän osan, jos et välitä.)

Tavoitteena on herätä kerran päivässä, mutta koska TPL5110: n enimmäisväli on vain noin 2 tuntia, T5: n on herätettävä useammin. Joten kun se on ladannut vuorovesi- ja säätiedot, se laskee, kuinka monta näistä 2 tunnin väleistä on nyt ja huomenna aamulla klo 4.00 välillä. Tätä vaikeuttaa hieman se, että TPL5110 katkaisee kokonaan virran T5: lle, mikä on hyväksi akulle, mutta se tarkoittaa, että menetämme RAM-muistin ja reaaliaikaisen kellon. Se on kuin herätä joka aamu muistinmenetykseen. Joten selvittääkseen, paljonko kello on nyt, se poimii sen NOAA: n HTTP -otsikosta. Ja muistaa, kuinka monta 2 tunnin väliaikaa on jäljellä, se kirjoittaa, että se on haihtumattoman tallennuksen vastainen (salama). Joka kerta kun se herää, se tarkistaa, että laskuri laskee sen, tallentaa sen ja jos se on suurempi kuin nolla, se lähettää välittömästi signaalin TPL51110: lle ("Valmis") ja kehottaa sitä laittamaan sen nukkumaan. Kun laskuri osuu nollaan, koodi lataa uutta dataa ja laskee laskurin uudelleen ja nollaa sen.

Vaihe 8: Suorita se

Suorita se
Suorita se

Varmista, että T5: n vasemmalla puolella oleva kytkin on ylhäällä (päällä), lataa luonnos T5: een ja muutaman sekunnin kuluessa näyttö päivittyy vuorovesi- ja säätiedoilla.

Jos sinun on suoritettava ohjelmiston virheenkorjaus, vaihda Tides.ino -sivun yläosassa oleva "#define DEBUG 0" arvoon "#define DEBUG 1". Tämä ottaa käyttöön sarjamuotoisen virheenkorjauksen ja näyttää myös sähköisen paperin alareunassa jäljellä olevien uudelleenkäynnistysten lukumäärän ennen uuden tiedon lataamista ja ajan, jolloin se viimeksi ladasi tiedot.

Vaihe 9: Tulevat ohjeet

  1. TPL5110: n käyttö yhdessä e-paperinäytön kanssa on erinomainen tapa näyttää kaikki tiedot, jotka eivät muutu usein, ja akun kesto on erinomainen.
  2. Kun suunnittelin tätä, harkitsin TrigBoardin käyttöä, joka on ESP8266 -kortti, jossa on TPL5111. Se olisi vaatinut erillisen sähköisen paperin näytön ja sähköisen paperin ohjainkortin hankkimisen. Tai kuljettaja+hallituksen yhdistelmä, kuten tämä tai tämä. Koodin siirtämiseksi ESP8266: een mielestäni SSL-koodin on käytettävä sormenjälkiä varmenteiden sijasta, ja haihtumattoman tallennuskoodin on käytettävä EEPROM- tai RTC-muistia.
  3. Kuulin äskettäin, että Lolin32 -levy on melko kunnollinen syvässä lepotilassa: noin 100 uA. Ei niin hyvä kuin TPL51110 -levy (20uA Adafruitin mukaan), mutta tarpeeksi hyvä.
  4. OpenWeatherMap palauttaa paljon enemmän säätietoja kuin näytän. Sisältää kuvaketunnukset, jotka edellyttävät yksiväristen kuvakkeiden löytämistä jostain.

Suositeltava: