Turinys:

„TTGO T-Watch“: 9 žingsniai (su nuotraukomis)
„TTGO T-Watch“: 9 žingsniai (su nuotraukomis)

Video: „TTGO T-Watch“: 9 žingsniai (su nuotraukomis)

Video: „TTGO T-Watch“: 9 žingsniai (su nuotraukomis)
Video: TTGO T-Block - платформа для разработки на ESP32 с круглым дисплеем (GC9A01) 2024, Lapkritis
Anonim
Image
Image
TTGO laikrodis
TTGO laikrodis

Šios instrukcijos parodo, kaip pradėti žaisti su „TTGO T-Watch“.

1 žingsnis: Kas yra „TTGO T-Watch“?

Kas yra TTGO laikrodis?
Kas yra TTGO laikrodis?
Kas yra TTGO laikrodis?
Kas yra TTGO laikrodis?
Kas yra TTGO laikrodis?
Kas yra TTGO laikrodis?
Kas yra TTGO laikrodis?
Kas yra TTGO laikrodis?

„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“

Paprastas laikrodis PoC
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ą

Dizaino laikrodžio veidas
Dizaino laikrodžio veidas

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

Energijos sąnaudos
Energijos sąnaudos
Energijos sąnaudos
Energijos sąnaudos

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

Image
Image
Programa
Programa

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

  1. Norėdami įdiegti programinę įrangą ir biblioteką, vykdykite https://github.com/Xinyuan-LilyGO/TTGO-T-Watch puslapio instrukcijas.
  2. Atsisiųskite šaltinio kodą iš „GitHub“:
  3. Atidarykite, sukompiliuokite ir įkelkite „Set_RTC.ino“, kad atnaujintumėte RTC datą ir laiką
  4. Atidarykite, sukompiliuokite ir įkelkite „Arduino-T-Watch-simple.ino“
  5. 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

Laimingas programavimas!
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“

Image
Image

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: