Turinys:
- 1 žingsnis: Kas yra „TTGO T-Watch“?
- 2 žingsnis: paprastas laikrodis „PoC“
- 3 žingsnis: suprojektuokite laikrodžio veidą
- 4 žingsnis: nustatykite laiką
- 5 žingsnis: energijos suvartojimas
- 6 veiksmas: programuojamas energijos valdymo lustas
- 7 žingsnis: programa
- 8 žingsnis: laimingas programavimas
- 9 žingsnis: „Arduino-T-Watch-GFX“
Video: „TTGO T-Watch“: 9 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šios instrukcijos parodo, kaip pradėti žaisti su „TTGO T-Watch“.
1 žingsnis: Kas yra „TTGO T-Watch“?
„TTGO T-Watch“yra laikrodžio formos ESP32 pagrindu sukurtas kūrimo rinkinys. 16 MB blykstė ir 8 MB PSRAM yra aukščiausios specifikacijos. Jame taip pat yra įmontuotas 240 x 240 IPS skystųjų kristalų ekranas, jutiklinis ekranas, „micro-SD“kortelės prievadas, I2C prievadas, RTC, 3 ašių akselerometras ir pasirinktinis mygtukas. Galinę plokštę taip pat galima perjungti į kitus modulius, tokius kaip LORA, GPS ir SIM.
Tačiau svarbiausias dalykas, kurį jis gali tapti tinkamu naudoti laikrodžiu, yra maitinimo sistema. Jame integruotas daugiakanalis programuojamas maitinimo valdymo lustas AXP202. Tai pirmas kartas, kai matau kūrimo rinkinį, kuriame yra valdomas I2C maitinimo lustas!
Remiantis AXP202X_Library sąsaja, galite valdyti ir įjungti ir išjungti kiekvieną maitinimo kanalą, nuskaityti akumuliatoriaus įkrovos lygį, įkrovimo būseną ir netgi tiesiogiai išjungti maitinimą, kaip ir paspaudę maitinimo mygtuką.
Nuoroda:
github.com/Xinyuan-LilyGO/TTGO-T-Watch
2 žingsnis: paprastas laikrodis „PoC“
Maitinimo lustas atrodo geras, bet kiek laiko jis turi įmontuotą 180 mAh bateriją?
Kadangi jis buvo sukurtas kaip laikrodžio perspektyva, pradėkime nuo paprasto laikrodžio pavyzdžio kaip „PoC“, kad ištirtume, kaip veikia maitinimo lustas.
3 žingsnis: suprojektuokite laikrodžio veidą
ESP32 yra labai galingas lustas, 240 Mhz dviejų branduolių procesorius ir 80 Mhz SPI greitis gali sukurti labai sklandų ekrano išdėstymą. Taigi aš sukūriau padorų laikrodžio veidą su nuolatine šlavimo antra ranka.
Tačiau projektavimo sunkumai yra netikėtai dideli, nesunku nemirksint pašalinti paskutinę sekundę. Aš išbandžiau 4 papildomus būdus, kaip tai padaryti. Aukščiau pateiktose nuotraukose parodytas nepavykęs perbraižymas, kuris liko paskutinės sekundės taškai, nepašalinti ekrane. Dizainas laikrodžio veidas gali pasakyti daug žodžių, bet šiek tiek už šio projekto ribų. Galbūt kitose instrukcijose galiu daugiau pasakyti apie dizaino kelionę, ji turėtų būti vadinama „Arduino Watch Core“.
4 žingsnis: nustatykite laiką
„T-Watch“turi įmontuotą RTC lustą, o tai reiškia, kad jis gali išlaikyti laiką nuo atstatymo iki kūrimo. Prieš laikydamiesi laiko, pirmiausia turėtume nustatyti laiką.
Yra įvairių būdų nustatyti laiką:
- ESP32 turi „WiFi“funkciją, todėl galite sinchronizuoti laiką su NTP
- panašiai kaip kiti elektroniniai prietaisai, pvz., skaitmeninis fotoaparatas, galite parašyti vartotojo sąsają, kad nustatytumėte laiką
- galite naudoti GPS planą, tada galite gauti laiko iš palydovo
Kad būtų paprasčiau, tai vis tiek yra įvairus tingus laiko nustatymo būdas, tai galite rasti kai kuriuose TFT laikrodžio pavyzdžiuose. Kai kompiliuosite programą „Arduino“, išankstinis procesorius nustatė 2 kintamuosius „_DATE_“ir „_TIME_“, kad įrašytų kompiliavimo laiką. Šią informaciją galime panaudoti kurdami labai paprastą programą, skirtą nustatyti RTC laiką.
Pastaba:
Ši paprasta programa visada nustato įkrovos laiką. Tačiau kompiliavimo laikas galioja tik pirmą kartą paleidžiant, todėl turėtumėte perrašyti kita programa, kai ji nustatys sėkmingą laiką.
Nuoroda:
gcc.gnu.org/onlinesocs/cpp/Standard-Predef…
5 žingsnis: energijos suvartojimas
Kai laikrodis veikia ir rodo nuolatinį naudojimą, jis sunaudoja šiek tiek daugiau nei 60 mA. Dėl energijos taupymo jis po tam tikro laiko turėtų pereiti į miego režimą.
Jei išjungiu LCD foninį apšvietimą ir vadinu ESP32 giliu miego režimu, jis sumažėja iki maždaug 7,1 mA. 180 mAh talpos baterija gali trukti tik apie 1 dieną.
Žinau, kad LCD mikroschema sunaudoja apie 6 mA. Pagal ST7789 duomenų lapą yra komanda įjungti miego režimą. Tačiau dabartinėje TFT_eSPI bibliotekoje dar nėra miego režimo API.
Be to, kažkur vis dar sunaudojama apie 1 mA.
6 veiksmas: programuojamas energijos valdymo lustas
Plėtros rinkinyje yra daug lustų, pagal jų duomenų lapą, dauguma jų palaiko energijos taupymo režimą. Tačiau ne visos bibliotekos atskleidė energijos taupymo režimo API. Ir tai yra ilgas energijos taupymo kodavimas, tikrinant ir skambinant kiekvienam moduliui įjungus miego režimą.
Kaip apie tiesioginį maitinimo išjungimą, kaip tiesioginį maitinimo mygtuko paspaudimą? „AXP202X_Library“gali tai padaryti tiesiog iškviesdamas funkciją shutdown (). Išjungimo režimu jis sunaudoja tik šiek tiek mažiau nei 0,3 mA. 180 mAh baterija gali trukti 25 dienas!
Pastaba:
Aš ką tik įkroviau bateriją birželio 28 d., Galite sekti mano „Twitter“ir sužinoti naujausią akumuliatoriaus būseną.
Atnaujinimas:
Baterija išsikrauna liepos 18 d., Baterija gali trukti 20 dienų. Per tą laiką, kai tikrinu laiką kelis kartus per dieną, manau, kad laikrodis gali trukti 1-2 savaites įprasto naudojimo metu.
Nuoroda:
github.com/lewisxhe/AXP202X_Library/pull/2
7 žingsnis: programa
- Norėdami įdiegti programinę įrangą ir biblioteką, vykdykite https://github.com/Xinyuan-LilyGO/TTGO-T-Watch puslapio instrukcijas.
- Atsisiųskite šaltinio kodą iš „GitHub“:
- Atidarykite, sukompiliuokite ir įkelkite „Set_RTC.ino“, kad atnaujintumėte RTC datą ir laiką
- Atidarykite, sukompiliuokite ir įkelkite „Arduino-T-Watch-simple.ino“
- Padaryta!
Paprasta laikrodžių programa padės:
- perskaitykite RTC datą ir laiką
- nubrėžkite laikrodžio ženklą (galite pasirinkti apvalų arba kvadratinį laikrodžio ženklą)
- rodyti nuolatinį šlavimo naudojimą
- išjunkite maitinimą po 60 sekundžių (arba galite paspausti maitinimo mygtuką, kad akimirksniu išjungtumėte)
- paspauskite maitinimo mygtuką, kad vėl įjungtumėte
8 žingsnis: laimingas programavimas
TTGO T laikrodis gali daug daugiau nei paprastas laikrodis, pvz.
- ESP32 gali užmegzti belaidį ir „WiFi“ryšį
- Naudodami jutiklinį ekraną galite sukurti įmantresnę vartotojo sąsają
- įmontuotas trijų ašių akselerometras (BMA423), įmontuotas žingsnių skaitiklio algoritmas ir kitas daugiafunkcis GSensor
- keičiama galinė plokštė gali pridėti LORA, GPS, SIM funkciją
- I2C prievadas gali išplėsti daug daugiau funkcijų
9 žingsnis: „Arduino-T-Watch-GFX“
Norint paleisti „Arduino-T-Watch-simple“, reikia paspausti ir palaikyti mažą įjungimo mygtuką, o pradinis LCD įvedimas užtrunka keletą sekundžių. Taigi vartotojo patirtis nėra tokia gera.
Norėdami tai pagerinti, pridėjau dar vieną programą, pavadintą „Arduino-T-Watch-GFX“. Ši programa pakeista, kad būtų naudojama „Arduino_GFX“ekrano biblioteka, tada ji gali pasakyti, kad ekranas įjungs miego režimą, kad taupytų energiją. Taigi, kai ESP32 įjungia lengvą miego režimą, dabar jis sunaudoja mažiau nei 3 mA. Be to, dabar jis gali sukelti pabudimą palietus ekraną. ESP32 pabudimas ir ekrano užmigimas yra daug greitesnis nei visas perkrovimo procesas, aukščiau pateiktą vaizdo įrašą galite pamatyti beveik akimirksniu. Teoriškai baterija turėtų trukti ilgiau nei 2 dienas: P.
Rekomenduojamas:
ESP32 TTGO „WiFi“signalo stiprumas: 8 žingsniai (su nuotraukomis)
ESP32 TTGO „WiFi“signalo stiprumas: Šioje pamokoje sužinosime, kaip rodyti „WiFi“tinklo signalo stiprumą naudojant ESP32 TTGO plokštę. Žiūrėkite vaizdo įrašą
TTGO Lora OLED laikrodis: 4 žingsniai
„TTGO Lora“OLED laikrodis: Iš įvairių pigių LORA protokolo rinkoje esančių modulių pigiausias pasirinkimas yra TTGO su įmontuotu SMA antenos prievadu ir OLED. LORA turi savo galimybes, tačiau mes vis tiek galime naudoti šį modulį kaip BLE arba ESP modulį
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
TTGO (spalvotas) ekranas su mikropitonu (TTGO T-ekranas): 6 žingsniai
TTGO (spalvotas) ekranas su „Micropython“(TTGO T-ekranas): „TTGO T-Display“yra plokštė, pagrįsta ESP32, kurioje yra 1,14 colio spalvotas ekranas. Lentą galima nusipirkti už mažesnį nei 7 USD prizą (įskaitant pristatymą, prizas matomas „banggood“). Tai neįtikėtinas prizas už ESP32, įskaitant ekraną. T
Varžtas - „pasidaryk pats“belaidis įkrovimo naktinis laikrodis (6 žingsniai): 6 žingsniai (su nuotraukomis)
Varžtas - „Pasidaryk pats“belaidis įkrovimo naktinis laikrodis (6 žingsniai): Indukcinis įkrovimas (taip pat žinomas kaip belaidis įkrovimas arba belaidis įkrovimas) yra belaidžio energijos perdavimo tipas. Jis naudoja elektromagnetinę indukciją tiekti elektros energiją nešiojamiesiems įrenginiams. Dažniausia programa yra „Qi“belaidžio įkrovimo st