Sadržaj:

TTGO T-sat: 9 koraka (sa slikama)
TTGO T-sat: 9 koraka (sa slikama)

Video: TTGO T-sat: 9 koraka (sa slikama)

Video: TTGO T-sat: 9 koraka (sa slikama)
Video: TTGO T-Block - платформа для разработки на ESP32 с круглым дисплеем (GC9A01) 2024, Juli
Anonim
Image
Image
TTGO T-sat
TTGO T-sat

Ove upute pokazuju kako početi igrati sa TTGO T-Watch-om.

Korak 1: Šta je TTGO T-Watch?

Šta je TTGO T-Watch?
Šta je TTGO T-Watch?
Šta je TTGO T-Watch?
Šta je TTGO T-Watch?
Šta je TTGO T-Watch?
Šta je TTGO T-Watch?
Šta je TTGO T-Watch?
Šta je TTGO T-Watch?

TTGO T-Watch je razvojni komplet zasnovan na ESP32. 16 MB flash i 8 MB PSRAM su vrhunske specifikacije. Takođe ima ugrađeni IPS LCD ekran rezolucije 240x240 piksela, ekran osetljiv na dodir, port za micro-SD karticu, I2C port, RTC, troosni akcelerometar i prilagođeno dugme. Pozadinska ploča se također može prebaciti na druge module kao što su LORA, GPS i SIM.

Ali najvažnija stvar koju može postati upotrebljiv sat je sistem napajanja. Integrirao je AXP202 višekanalni programibilni čip za upravljanje napajanjem. Ovo je prvi put da vidim razvojni komplet koji ima I2C upravljački čip za napajanje!

Prema sučelju AXP202X_Library, možete kontrolirati i isključivati svaki kanal napajanja, čitati razinu napunjenosti baterije, status punjenja, pa čak i direktno isključiti napajanje, baš kao što ste pritisnuli tipku za uključivanje.

Ref.:

github.com/Xinyuan-LilyGO/TTGO-T-Watch

Korak 2: Jednostavni sat PoC

Simple Watch PoC
Simple Watch PoC

Čip za napajanje izgleda dobro, ali koliko dugo traje ugrađenoj bateriji od 180 mAh?

Budući da je dizajniran kao izgled sata, počnimo s jednostavnim primjerom sata kao PoC -om kako bismo ispitali kako čip za napajanje radi.

Korak 3: Dizajnirajte lice sata

Dizajn brojčanika
Dizajn brojčanika

ESP32 je vrlo moćan čip, dvojezgreni CPU od 240 Mhz i SPI brzina od 80 Mhz mogu dizajnirati vrlo gladak izgled ekrana. Tako sam dizajnirao pristojno lice sata sa kontinuiranom pretragom iz druge ruke.

Međutim, poteškoće u dizajnu su neočekivano velike, nije lako ukloniti posljednju sekundu bez treptanja. Isprobao sam 4 dodatne metode kako bih to uspio. Gornje slike prikazuju neuspješno iscrtavanje koje je preostalo posljednju sekundu piksela koje nije uklonjeno sa ekrana. Dizajn satova s licem može reći mnogo riječi, ali malo izvan ovog projekta. Možda mogu reći više o dizajnerskom putovanju u sljedećim uputstvima, trebalo bi se zvati "Arduino Watch Core".

Korak 4: Postavite vrijeme

T-Watch ima ugrađeni RTC čip, što znači da može zadržati vrijeme između resetiranja i razvoja. Prije nego što može zadržati vrijeme, prvo bismo trebali postaviti vrijeme.

Postoji nekoliko načina za podešavanje vremena:

  • ESP32 ima mogućnost WiFi -ja, pa možete sinkronizirati vrijeme s NTP -om
  • slično drugim elektroničkim uređajima, poput digitalnih fotoaparata, možete napisati korisničko sučelje za postavljanje vremena
  • možete koristiti GPS stražnju ploču, a zatim vrijeme možete dobiti sa satelita

Da pojednostavimo, i dalje je to varijacija lijenog načina postavljanja vremena. Ovaj način možete pronaći na nekom primjeru TFT sata. Kada kompajlirate program u Arduinu, predprocesor je definirao 2 varijable "_DATE_" i "_TIME_" za snimanje vremena kompajliranja. Ove podatke možemo koristiti za izradu vrlo jednostavnog programa za postavljanje vremena RTC -a.

Bilješka:

Ovaj jednostavan program uvijek postavlja vrijeme pri pokretanju. Ali vrijeme kompajliranja vrijedi samo pri prvom pokretanju, pa biste ga trebali prepisati drugim programom nakon što postavi vrijeme uspješno.

Ref.:

gcc.gnu.org/onlinedocs/cpp/Standard-Predef…

Korak 5: Potrošnja energije

Potrošnja energije
Potrošnja energije
Potrošnja energije
Potrošnja energije

Kada sat radi, pokazuje kontinuirano brisanje iz druge ruke, troši nešto više od 60 mA. Zbog uštede energije, nakon određenog perioda trebao bi preći u stanje mirovanja.

Ako isključim pozadinsko osvjetljenje LCD -a i nazovem ESP32 dubokim snom, ono će pasti na oko 7,1 mA. Baterija od 180 mAh može izdržati samo 1 dan.

Znam da LCD čip troši oko 6 mA. Prema podacima iz ST7789, postoji naredba za ulazak u stanje mirovanja. Ali trenutna TFT_eSPI biblioteka još nema API za način mirovanja.

A još uvijek je negdje potrošeno oko 1 mA.

Korak 6: Programabilni čip za upravljanje napajanjem

Image
Image
Program
Program

U razvojnom kompletu ima mnogo čipova, prema njihovom listu s podacima, većina njih podržava način uštede energije. Međutim, nisu sve knjižnice izložile API za način uštede energije. To je dugo kodiranje za uštedu energije provjerom i pozivanjem svakog modula u stanje mirovanja.

Šta kažete na direktno isključivanje napajanja, baš kao što je direktno pritisnuto dugme za napajanje? AXP202X_Library može to učiniti jednostavnim pozivanjem funkcije shutdown (). U isključenom načinu rada troši samo malo ispod 0,3 mA. Baterija od 180 mAh može izdržati 25 dana!

Bilješka:

Upravo sam napunio bateriju 28. juna. Možete pratiti moj twitter da biste saznali najnovije stanje baterije.

Ažuriranje:

Baterija se ispraznila 18. jula, baterija može izdržati 20 dana. Tokom perioda provjeravam vrijeme nekoliko puta dnevno, pretpostavljam da sat može izdržati 1-2 sedmice pri normalnoj upotrebi.

Ref.:

github.com/lewisxhe/AXP202X_Library/pull/2

Korak 7: Programirajte

  1. Slijedite https://github.com/Xinyuan-LilyGO/TTGO-T-Watch upute na stranici za instaliranje softvera i biblioteke.
  2. Preuzmite izvorni kod na GitHub-u:
  3. Otvorite, kompajlirajte i prenesite Set_RTC.ino da biste ažurirali datum i vrijeme RTC -a
  4. Otvorite, kompajlirajte i prenesite Arduino-T-Watch-simple.ino
  5. Gotovo!

Jednostavan program za gledanje će učiniti:

  • pročitati datum i vrijeme RTC -a
  • nacrtajte oznaku sata (možete odabrati okruglu ili kvadratnu oznaku sata)
  • pokazati kontinuirano brisanje iz druge ruke
  • isključite napajanje nakon 60 sekundi (ili možete držati dugme za uključivanje za trenutno isključivanje)
  • pritisnite dugme za napajanje da biste ga ponovo uključili

Korak 8: Sretno programiranje

Sretno programiranje!
Sretno programiranje!

TTGO T-sat može učiniti mnogo više od običnog sata, npr.

  • ESP32 može napraviti WiFi i BT bežičnu komunikaciju
  • Upotreba ekrana osjetljivog na dodir može razviti elegantnije korisničko sučelje
  • ugrađeni troosni akcelerometar (BMA423), ugrađeni algoritam brojača koraka i drugi višenamjenski GSensor
  • zamenljiva zadnja ploča može dodati funkcije LORA, GPS, SIM
  • I2C port može proširiti mnogo više funkcija

Korak 9: Arduino-T-Watch-GFX

Image
Image

Arduino-T-Watch-jednostavno zahtijeva da pritisnete i držite sićušno dugme za uključivanje da biste se probudili, a početno predstavljanje LCD-a odgodilo je nekoliko sekundi. Dakle, korisničko iskustvo nije tako dobro.

Dodao sam još jedan program koji se zove Arduino-T-Watch-GFX kako bih to poboljšao. Ovaj program mijenja upotrebu Arduino_GFX biblioteke prikaza, a zatim može reći ekranu da ulazi u stanje mirovanja radi uštede energije. Dakle, kada ESP32 uđe u lagani san, sada samo troši ispod 3 mA. Takođe, sada može pokrenuti buđenje dodirom ekrana. ESP32 se budi i stanje mirovanja ekrana je mnogo brže od cijelog procesa ponovnog pokretanja, možete vidjeti gornji video zapis koji je gotovo trenutnog odziva. Teoretski, baterija bi trebala izdržati više od 2 dana: P

Preporučuje se: