Satura rādītājs:

Plūdmaiņu un laika pulkstenis: 9 soļi (ar attēliem)
Plūdmaiņu un laika pulkstenis: 9 soļi (ar attēliem)

Video: Plūdmaiņu un laika pulkstenis: 9 soļi (ar attēliem)

Video: Plūdmaiņu un laika pulkstenis: 9 soļi (ar attēliem)
Video: Es strādāju privātajā bagāto un slaveno muzejā. Šausmu stāsti. Šausmas. 2024, Novembris
Anonim
Plūdmaiņas un laika pulkstenis
Plūdmaiņas un laika pulkstenis

Lai gan jūs varat iegādāties analogus plūdmaiņu pulksteņus ar vienu roku, kas norāda, vai plūdmaiņa ir augsta vai zema, vai kaut kur pa vidu, tas, ko es gribēju, man pateiks, kad būs plūdmaiņa. Es gribēju kaut ko, uz ko varētu ātri paskatīties, to neieslēdzot, nenospiežot pogas vai negaidot. Un es gribēju kaut ko ar ilgu akumulatora darbības laiku. Tāpēc es izmantoju TTGO T5 plati, kas ir uz ESP32 balstīta tāfele ar 2,13 collu e-papīra displeju, savienota ar TTL5110 mikroshēmu. TPL5110 ieslēdz T5 ik pēc 2,5 stundām, un reizi dienā T5 lejupielādē plūdmaiņu datus no NOAA un laika apstākļu dati no OpenWeatherMap, parāda datus uz e-papīra, pēc tam liek TPL5110 izslēgt T5.

ATJAUNINĀT (2020. gada 25. februārī) Plūdmaiņu pulkstenis darbojas jau vienu gadu, un akumulatora jauda ir 4,00 volti, tāpēc pulkstenis varētu darboties daudzus gadus.

1. darbība: aparatūras saraksts

TTGO T5 dēlis 17 ASV dolāri

Adafruit TPL5110 dēlis 5 ASV dolāri

Adafruit Perma-Proto ceturkšņa izmēra tāfele (pēc izvēles) 0,71 USD (minimālais pasūtījums 8,50 USD)

Li-Poly akumulators 1200 mAh 10 USD (vai cits piemērots barošanas avots)

JST PH 2 kontaktu kabelis-vīriešu galvene 0,75 ASV dolāri

220 uF kondensators

2. darbība: rīki

Lodāmurs

Stiepļu noņēmēji

Li-Po akumulatora lādētājs, piemēram, šis.

3. solis: salieciet aparatūru

Salieciet aparatūru
Salieciet aparatūru
Salieciet aparatūru
Salieciet aparatūru
Salieciet aparatūru
Salieciet aparatūru

Aparatūras salikšana ir diezgan vienkārša, kā redzams shematiski. Es izmantoju Adafruit Perma-proto dēli, kas ir kā parasts protoboards, izņemot to, ka tas ir izkārtots kā maizes dēlis ar tādiem pašiem elektriskiem savienojumiem kā maizes dēlis, kas ir jauki. Tā kā man bija nepieciešami tikai daži savienojumi un es gribēju visu komplektu ievietot nelielā kastē, es vienu no dēļiem sagriezu ceturtdaļās ar Dremel griešanas riteni.

220 uF kondensators ir ļoti svarīgs. Bez tā TPL5110 nekad neieslēgs T5. Mazliet nav skaidrs, kāpēc, bet citiem cilvēkiem, kuri izmantoja TPL5110, ir bijusi tāda pati problēma. Varbūt palaišanas laikā ESP32 patērē lielāku strāvu, nekā spēj nodrošināt TTL5110?

Nelietojiet vadu ar akumulatoru. Izmantojiet JST-PH kabeli, lai varētu atvienot akumulatoru, lai to uzlādētu. Var būt veids, kā uzlādēt akumulatoru no T5 atpakaļ caur TPL5110, ja TPL5110 ir ieslēgts, taču es nevaru garantēt šo tehniku.

Es izveidoju koka kasti kā korpusu, taču derētu viss, kura minimālie iekšējie izmēri ir 1,5 "x 2,75" x 1 ".

4. solis: noregulējiet laiku

TPL5110 plāksnei ir apdares potenciometrs, kas nosaka laika intervālu, kurā TPL5110 pamostas. Izmantojiet mazu skrūvgriezi, lai to pagrieztu līdz galam pretēji pulksteņrādītāja virzienam. Uz manas tāfeles šis intervāls tika iestatīts uz 145 minūtēm, kas patiesībā ir vairāk nekā maksimālais paredzētais 120 minūtes, taču tas darbojas un bija konsekvents un ietaupīs vēl vairāk enerģijas nekā ik pēc 120 minūtēm, tāpēc es to izmantoju. Jums nav precīzi jāzina intervāls, jo mērķis ir tikai aptuveni reizi dienā aptuveni 4:00 lejupielādēt datus. Vietnē env_config.h varat norādīt intervālu (piemēram, 145 minūtes) un modināšanas laiku (piemēram, 4:00).

(Ja vēlaties labāk kontrolēt cita projekta laiku, TPL5110 plāksnes aizmugurē ir pēdas, kuras varat izgriezt, lai atspējotu potenciometru. Pēc tam jūs pievienojat rezistoru aiztures tapai, un pretestība nosaka intervālu atbilstoši šo diagrammu.)

5. solis: programmatūra

Jums būs nepieciešams Arduino IDE ar ESP32 paketi. IDE iestatiet tāfeli uz "ESP32 Dev Module".

Skice ir pieejama vietnē https://github.com/jasonful/Tides, un tai ir nepieciešamas 3 bibliotēkas:

  1. "ESP8266 meteoroloģiskā stacija", kas pieejama no Arduino bibliotēkas vadītāja (vai šeit). Jums būs nepieciešami tikai šie 6 faili: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h un pārējos var izdzēst.
  2. "Json straumēšanas parsētājs" ir pieejams Arduino bibliotēkas pārvaldniekā (vai šeit)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Lai gan kods nav iepakots kā īsta bibliotēka, varat to vienkārši nokopēt savā bibliotēku direktorijā un iekļaut to.

6. darbība: konfigurējiet programmatūru

Failā env_config.h jums būs jāiestata vairāki parametri (un daži, iespējams, vēlēsities tos iestatīt), tostarp:

  • WiFi SSID un parole
  • NOAA stacijas ID (citiem vārdiem sakot, kur jūs esat)
  • OpenWeatherMap AppID, kuram jums būs jāreģistrējas (tas ir viegli un bez maksas)
  • OpenWeatherMap LocationID (atkal, kur tu esi)
  • CONFIG_USE_TPL5110, kas ļauj izmantot T5 bez TPL5110. Tā vietā programmatūra ieslēgsies dziļā miega režīmā. T5 dēlis dziļā miegā patērē apmēram 8 ma, tāpēc es gaidītu, ka akumulators ilgs tikai dažas dienas.

7. darbība. Kā darbojas programmatūra

(Ja vienalga, varat šo daļu izlaist.)

Mērķis ir pamosties vienu reizi dienā, bet, tā kā maksimālais TPL5110 intervāls ir tikai aptuveni 2 stundas, T5 ir jāceļas biežāk. Tātad, pēc tam, kad tas ir lejupielādējis plūdmaiņu un laika apstākļu datus, tas aprēķina, cik no šiem 2 stundu intervāliem ir no šodienas līdz rīt no rīta 4:00. To nedaudz sarežģī fakts, ka TPL5110 pilnībā pārtrauc T5 strāvu, kas nāk par labu akumulatoram, taču tas nozīmē, ka mēs zaudējam RAM un reālā laika pulksteni. Tas ir tāpat kā katru rītu pamosties ar amnēziju. Tātad, lai noskaidrotu, cik ir pulkstenis, tas to iegūst no NOAA HTTP galvenes. Un, lai atcerētos, cik daudz 2 stundu intervālu ir atlicis, tas raksta, ka tas ir pretrunā nepastāvīgai uzglabāšanai (zibspuldze). Katru reizi, kad tas pamostas, tas pārbauda skaitītāju, samazina to, saglabā to un, ja tas ir lielāks par nulli, tas nekavējoties nosūta signālu uz TPL51110 ("Gatavs"), liekot to iemidzināt. Kad skaitītājs sasniedz nulli, kods lejupielādē jaunus datus, pārrēķina un atiestata skaitītāju.

8. darbība: palaidiet to

Palaist to
Palaist to

Pārliecinieties, vai slēdzis T5 kreisajā pusē ir augšējā (ieslēgtā) pozīcijā, augšupielādējiet skici T5, un dažu sekunžu laikā ekrānam vajadzētu atjaunoties ar informāciju par plūdmaiņu un laika apstākļiem.

Ja nepieciešams atkļūdot programmatūru, mainiet "#define DEBUG 0" Tides.ino augšdaļā uz "#define DEBUG 1". Tas ieslēgs sērijas atkļūdošanas izvadi, kā arī e-papīra apakšdaļā parādīs atlikušo restartēšanas reižu skaitu pirms jaunu datu lejupielādes un laiku, kad tas pēdējo reizi lejupielādēja datus.

9. solis: turpmākie virzieni

  1. TPL5110 izmantošana kopā ar e-papīra displeju ir lielisks veids, kā parādīt visus datus, kas bieži nemainās, ar lielisku akumulatora darbības laiku.
  2. Izstrādājot to, es apsvēru iespēju izmantot TrigBoard, kas ir ESP8266 plāksne ar TPL5111. Būtu bijis jāiegūst atsevišķs e-papīra displejs un e-papīra draivera tāfele. Vai šofera+tāfeles kombinācija kā šis vai šis. Lai kodu pārnestu uz ESP8266, es domāju, ka SSL kodam sertifikātu vietā būs jāizmanto pirkstu nospiedumi, un nemainīgajam krātuves kodam būs jāizmanto EEPROM vai RTC atmiņa.
  3. Nesen dzirdēju, ka Lolin32 tāfele dziļā miega režīmā ir diezgan pieklājīga: aptuveni 100uA. Ne tik laba kā TPL51110 tāfele (20uA saskaņā ar Adafruit), bet pietiekami laba.
  4. OpenWeatherMap atgriež daudz vairāk laika apstākļu datu, nekā es parādīju. Ieskaitot ikonu ID, kas prasītu kaut kur atrast vienkrāsainas ikonas.

Ieteicams: