Turinys:

Potvynių ir orų laikrodis: 9 žingsniai (su nuotraukomis)
Potvynių ir orų laikrodis: 9 žingsniai (su nuotraukomis)

Video: Potvynių ir orų laikrodis: 9 žingsniai (su nuotraukomis)

Video: Potvynių ir orų laikrodis: 9 žingsniai (su nuotraukomis)
Video: Ужасы местного отеля. Комната из которой нет выхода. Полуночная Газета #9 2024, Lapkritis
Anonim
Potvynių ir orų laikrodis
Potvynių ir orų laikrodis

Nors galite nusipirkti analogiškų laikrodžių, turinčių vieną ranką, rodančią, ar atoslūgis yra aukštas, ar žemas, ar kažkur tarp jų, tai, ko norėjau, man pasakytų, kada bus atoslūgis. Norėjau kažko, į ką galėčiau greitai pažvelgti, jo neįjungęs, nespaudęs jokių mygtukų ar laukdamas. Ir aš norėjau kažko ilgo baterijos. Taigi aš naudoju TTGO T5 plokštę, kuri yra ESP32 pagrindu pagaminta plokštė su 2,13 colio el. Popieriaus ekranu, prijungta prie TTL5110 lusto. TPL5110 įjungia T5 kas 2,5 valandos, o kartą per dieną T5 atsisiunčia potvynių duomenis iš NOAA ir orų duomenys iš „OpenWeatherMap“, rodo duomenis el. Popieriuje, tada liepia TPL5110 išjungti T5.

ATNAUJINIMAS (2020 m. Vasario 25 d.) „Tide Clock“veikia jau vienerius metus, o baterija yra 4,00 voltų, todėl laikrodis gali veikti daugelį metų.

1 žingsnis: Aparatūros sąrašas

TTGO T5 lenta 17 USD

„Adafruit TPL5110“lenta 5 USD

„Adafruit Perma-Proto“ketvirčio dydžio lenta (neprivaloma) 0,71 USD (minimalus užsakymas 8,50 USD)

Li-Poly baterija 1200 mAh 10 USD (arba kitas tinkamas maitinimo šaltinis)

JST PH 2 kontaktų kabelis-vyrų antraštė 0,75 USD

220 uF kondensatorius

2 žingsnis: įrankiai

Lituoklis

Vielos nuėmikliai

Li-Po akumuliatoriaus įkroviklis, toks kaip šis.

3 žingsnis: Surinkite aparatūrą

Surinkite aparatūrą
Surinkite aparatūrą
Surinkite aparatūrą
Surinkite aparatūrą
Surinkite aparatūrą
Surinkite aparatūrą

Techninės įrangos surinkimas yra gana paprastas, kaip parodyta schemoje. Aš naudoju „Adafruit Perma-proto“plokštę, kuri yra kaip įprasta protoboard, išskyrus tai, kad ji yra išdėstyta kaip duonos lenta, su tokiomis pačiomis elektros jungtimis kaip ir duonos lenta, o tai yra puiku. Kadangi man reikėjo tik kelių jungčių ir norėjau visą mazgą sutalpinti į mažą dėžutę, vieną iš lentų supjaustiau į ketvirtas su „Dremel“išjungimo ratu.

220 uF kondensatorius yra labai svarbus. Be jo TPL5110 niekada neįjungs T5. Šiek tiek neaišku, kodėl, tačiau kiti žmonės, naudojantys TPL5110, turėjo tą pačią problemą. Galbūt ESP32 paleidžia daugiau srovės, nei paleidžia TTL5110?

Nejunkite akumuliatoriaus. Naudokite JST-PH kabelį, kad galėtumėte atjungti akumuliatorių ir jį įkrauti. Gali būti būdas įkrauti akumuliatorių iš T5 atgal per TPL5110, jei TPL5110 yra „įjungtas“, bet aš negaliu garantuoti šios technikos.

Aš padariau medinę dėžę kaip aptvarą, bet viskas, kurios minimalūs vidiniai matmenys yra 1,5 x 2,75 colio x 1, tiktų.

4 žingsnis: sureguliuokite laiką

TPL5110 plokštėje yra apdailos potenciometras, kuris nustato laiko intervalą, per kurį TPL5110 atsibunda. Naudokite mažą atsuktuvą, kad visa tai pasuktumėte prieš laikrodžio rodyklę. Mano lentoje šis intervalas buvo nustatytas į 145 minutes, o tai iš tikrųjų yra daugiau nei nurodyta maksimali 120 minučių, tačiau ji veikia ir buvo nuosekli ir sutaupys dar daugiau energijos nei pabudus kas 120 minučių, todėl aš ją panaudojau. Jums nereikia tiksliai žinoti intervalo, nes tikslas yra tiesiog atsisiųsti duomenis maždaug kartą per dieną, maždaug apie 4 val. „Env_config.h“galite nurodyti intervalą (pvz., 145 minutes) ir pažadinimo laiką (pvz., 4 val.).

(Jei norite geriau valdyti kito projekto laiką, TPL5110 plokštės gale yra pėdsakas, kurį galite nupjauti, kad išjungtumėte potenciometrą. Tada prie uždelsimo kaiščio pritvirtinate rezistorių, o varža nustato intervalą pagal šią diagramą.)

5 žingsnis: programinė įranga

Jums reikės „Arduino IDE“su ESP32 paketu. IDE nustatykite plokštę į „ESP32 Dev Module“.

Eskizą galima rasti adresu https://github.com/jasonful/Tides ir jam reikalingos 3 bibliotekos:

  1. „ESP8266 Weather Station“, kurią galima įsigyti iš „Arduino“bibliotekos vadovo (arba čia). Jums reikės tik šių 6 failų: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h ir likusius ištrinti.
  2. „Json Streaming Parser“galima įsigyti iš „Arduino“bibliotekos vadovo (arba čia)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Nors kodas nėra supakuotas kaip tikra biblioteka, galite tiesiog nukopijuoti jį į savo bibliotekų katalogą ir įtraukti tai.

6 veiksmas: sukonfigūruokite programinę įrangą

Faile „env_config.h“turėsite nustatyti kelis parametrus (ir kelis, kuriuos galbūt norėsite nustatyti), įskaitant:

  • „WiFi“SSID ir slaptažodis
  • NOAA stoties ID (kitaip tariant, kur esate)
  • „OpenWeatherMap AppID“, kurį turėsite užsiregistruoti (tai paprasta ir nemokama)
  • „OpenWeatherMap LocationID“(vėlgi, kur esate)
  • CONFIG_USE_TPL5110, kuris leidžia naudoti T5 be TPL5110. Vietoj to programinė įranga pereis į gilaus miego režimą. T5 plokštė giliai miegant pritraukia apie 8 mA, todėl tikėjausi, kad baterija truks kelias dienas.

7 veiksmas: kaip veikia programinė įranga

(Jei nerūpi, galite praleisti šią dalį.)

Tikslas yra pabusti kartą per dieną, tačiau kadangi maksimalus TPL5110 intervalas yra tik 2 valandos, T5 turi pabusti dažniau. Taigi, atsisiųsdamas potvynių ir orų duomenis, jis apskaičiuoja, kiek iš šių 2 valandų intervalų yra nuo dabar iki rytoj ryto 4 val. Tai šiek tiek apsunkina tai, kad TPL5110 visiškai nutraukia T5 maitinimą, o tai yra naudinga akumuliatoriui, tačiau tai reiškia, kad prarandame RAM ir realaus laiko laikrodį. Tai tarsi kas rytą pabudus su amnezija. Taigi, norėdamas išsiaiškinti, kiek dabar yra laiko, jis ištraukia jį iš NOAA HTTP antraštės. Ir prisiminti, kiek liko 2 valandų intervalai, jis rašo, kad prieštarauja nepastoviam saugojimui (blykstė). Kaskart pabudęs jis tikrina, kad skaitiklis sumažina, saugo ir, jei jis didesnis nei nulis, nedelsdamas siunčia signalą į TPL51110 („Atlikta“), nurodydamas jį užmigdyti. Kai skaitiklis pasiekia nulį, kodas atsisiunčia naujus duomenis, perskaičiuoja ir iš naujo nustato skaitiklį.

8 žingsnis: paleiskite

Paleisk
Paleisk

Įsitikinkite, kad kairėje T5 pusėje esantis jungiklis yra aukštyn (įjungta), įkelkite eskizą į T5 ir per kelias sekundes ekranas turėtų atnaujinti informaciją apie potvynius ir orus.

Jei reikia derinti programinę įrangą, pakeiskite „#define DEBUG 0“Tides.ino viršuje į „#define DEBUG 1“. Tai įjungs serijinio derinimo išvestį ir elektroninio popieriaus apačioje parodys, kiek kartų buvo paleista iš naujo prieš atsisiunčiant naujus duomenis ir paskutinį kartą atsisiuntus duomenis.

9 žingsnis: ateities kryptys

  1. Naudojant „TPL5110“kartu su el. Popieriniu ekranu yra puikus būdas rodyti bet kokius duomenis, kurie dažnai nesikeičia, ir puikiai veikia baterija.
  2. Kai kuriau tai, galvojau naudoti „TrigBoard“, tai yra ESP8266 plokštė su TPL5111. Reikėjo įsigyti atskirą elektroninio popieriaus ekraną ir elektroninio popieriaus tvarkyklės plokštę, tokią ar tokią. Arba vairuotojo+lentos derinys kaip šis ar šis. Kad perkeltumėte kodą į ESP8266, manau, kad SSL kodas turės naudoti pirštų atspaudus, o ne sertifikatus, o nepastovus saugojimo kodas turės naudoti EEPROM arba RTC atmintį.
  3. Neseniai išgirdau, kad „Lolin32“plokštė yra gana padori gilaus miego režimu: apie 100uA. Ne tokia gera kaip TPL51110 plokštė (20uA pagal „Adafruit“), bet pakankamai gera.
  4. „OpenWeatherMap“pateikia daug daugiau orų duomenų, nei aš rodau. Įskaitant piktogramų ID, todėl reikės kažkur rasti nespalvotų piktogramų.

Rekomenduojamas: