Inhoudsopgave:

TTGO T-Watch: 9 stappen (met afbeeldingen)
TTGO T-Watch: 9 stappen (met afbeeldingen)

Video: TTGO T-Watch: 9 stappen (met afbeeldingen)

Video: TTGO T-Watch: 9 stappen (met afbeeldingen)
Video: Hush | Critical Role: THE MIGHTY NEIN | Episode 7 2024, November
Anonim
Image
Image
TTGO T-Watch
TTGO T-Watch

Deze instructables laten zien hoe je kunt beginnen met spelen met TTGO T-Watch.

Stap 1: Wat is TTGO T-Watch?

Wat is TTGO T-Watch?
Wat is TTGO T-Watch?
Wat is TTGO T-Watch?
Wat is TTGO T-Watch?
Wat is TTGO T-Watch?
Wat is TTGO T-Watch?
Wat is TTGO T-Watch?
Wat is TTGO T-Watch?

TTGO T-Watch is een ESP32-gebaseerde ontwikkelingskit in de vorm van een horloge. 16 MB flash en 8 MB PSRAM zijn beide topspecificaties. Het heeft ook een 240x240 IPS LCD, touchscreen, micro-SD-kaartpoort, I2C-poort, RTC, 3-assige versnellingsmeter en een aangepaste knop ingebouwd. De backplane kan ook worden geschakeld naar andere modules zoals LORA, GPS en SIM.

Maar het belangrijkste dat het een bruikbaar horloge kan worden, is het stroomsysteem. Het integreerde de AXP202 meerkanaals programmeerbare energiebeheerchip. Dit is de eerste keer dat ik een ontwikkelkit zie met een I2C-bestuurbare stroomchip!

Volgens de AXP202X_Library-interface kun je elk voedingskanaal aan- en uitzetten, het batterijniveau, de oplaadstatus aflezen en zelfs de stroom direct uitschakelen, net zoals je op de aan / uit-knop hebt gedrukt.

ref.:

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

Stap 2: Simple Watch PoC

Simple Watch PoC
Simple Watch PoC

De powerchip lijkt goed, maar hoe lang gaat die mee voor de ingebouwde 180 mAh-accu?

Omdat het is ontworpen als een horloge-uitzicht, laten we beginnen met een eenvoudig voorbeeld van een horloge als PoC om te onderzoeken hoe de power-chip werkt.

Stap 3: Design wijzerplaat

Design wijzerplaat
Design wijzerplaat

ESP32 is een zeer krachtige chip, 240 Mhz dual-core CPU en 80 Mhz SPI-snelheid kunnen een zeer soepele weergave-indeling ontwerpen. Dus ontwierp ik een fatsoenlijke wijzerplaat met een continue secondewijzer.

De ontwerpproblemen zijn echter onverwacht hoog, het is niet eenvoudig om de laatste secondewijzer te verwijderen zonder te knipperen. Ik heb 4 extra methoden geprobeerd om het te maken. De bovenstaande afbeeldingen tonen een mislukte hertekening waarbij de pixels van de laatste seconde niet op het scherm werden verwijderd. Het ontwerp van de wijzerplaat van het werk kan veel woorden zeggen, maar een beetje buiten dit project. Misschien kan ik meer zeggen over de ontwerpreis in mijn volgende instructables, het zou "Arduino Watch Core" moeten heten.

Stap 4: Tijd instellen

T-Watch heeft een ingebouwde RTC-chip, wat betekent dat het tijd kan houden tussen resetten tijdens de ontwikkeling. Voordat het de tijd kan houden, moeten we eerst de tijd instellen.

Er zijn verschillende manieren om de tijd in te stellen:

  • ESP32 heeft WiFi-mogelijkheden, zodat u de tijd kunt synchroniseren met NTP
  • vergelijkbaar met andere elektronische apparaten, zoals een digitale camera, kunt u een gebruikersinterface schrijven om de tijd in te stellen
  • je kunt de GPS-backplane gebruiken, dan kun je de tijd van de satelliet krijgen

Om het eenvoudig te maken, het is nog steeds een nogal luie manier om de tijd in te stellen, je kunt deze manier vinden op een TFT-klokvoorbeeld. Wanneer u het programma in Arduino compileert, definieerde de preprocessor 2 variabelen "_DATE_" en "_TIME_" om de compileertijd vast te leggen. We kunnen deze informatie gebruiken om een heel eenvoudig programma te maken om de RTC-tijd in te stellen.

Opmerking:

Dit eenvoudige programma stelt altijd de tijd in bij het opstarten. Maar de compileertijd is alleen geldig bij de eerste keer opstarten, dus je moet overschrijven met een ander programma zodra het de tijd succesvol heeft ingesteld.

ref.:

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

Stap 5: Stroomverbruik

Energieverbruik
Energieverbruik
Energieverbruik
Energieverbruik

Wanneer het horloge loopt en een continue secondewijzer laat zien, verbruikt het iets meer dan 60 mA. Om energiebesparende redenen zou het na een bepaalde periode in de slaapstand moeten gaan.

Als ik de LCD-achtergrondverlichting uitschakel en ESP32 diepe slaap roep, zakt het naar ongeveer 7,1 mA. Het gaat slechts ongeveer 1 dag mee voor de 180 mAh-batterij.

Ik weet dat ongeveer 6 mA wordt verbruikt door de LCD-chip. Volgens het ST7789-gegevensblad is er een commando om naar de slaapmodus te gaan. Maar de huidige TFT_eSPI-bibliotheek heeft nog geen slaapmodus-API.

En ook wordt er nog ergens rond de 1 mA verbruikt.

Stap 6: Programmeerbare energiebeheerchip

Image
Image
Programma
Programma

Er zitten veel chips in de ontwikkelkit, volgens hun gegevensblad, de meeste ondersteunen de energiebesparende modus. Niet alle bibliotheken hebben echter de API voor de energiebesparende modus weergegeven. En het is een lange codering voor energiebesparing door elke module te controleren en naar de slaapmodus te roepen.

Hoe zit het met directe uitschakeling van de stroom, net zoals direct op de aan / uit-knop gedrukt? AXP202X_Library kan het maken door simpelweg de functie shutdown() aan te roepen. In de uitschakelmodus verbruikt het slechts iets minder dan 0,3 mA. Het kan 25 dagen duren voor de 180 mAh-batterij!

Opmerking:

Ik heb zojuist de batterij opgeladen op 28 juni, je kunt mijn twitter volgen om de laatste batterijstatus te kennen.

Update:

De batterij loopt op 18 juli leeg, de batterij kan 20 dagen mee. Gedurende de periode dat ik een paar keer per dag de tijd controleer, ga ik ervan uit dat het horloge bij normaal gebruik 1-2 weken meegaat.

ref.:

github.com/lewisxhe/AXP202X_Library/pull/2

Stap 7: Programmeren

  1. Volg https://github.com/Xinyuan-LilyGO/TTGO-T-Watch pagina-instructie om de software en bibliotheek te installeren.
  2. Download de broncode op GitHub:
  3. Open, compileer en upload Set_RTC.ino om de RTC-datum en -tijd bij te werken
  4. Open, compileer en upload Arduino-T-Watch-simple.ino
  5. Gedaan!

Het eenvoudige kijkprogramma doet het volgende:

  • lees de RTC-datum en -tijd
  • teken klokmarkering (u kunt ronde of vierkante klokmarkering selecteren)
  • toon continue sweep tweede hand
  • uitschakelstroom na 60 seconden (of u kunt de aan / uit-knop ingedrukt houden voor onmiddellijke uitschakeling)
  • druk op de aan/uit-knop om hem weer in te schakelen

Stap 8: Gelukkig Programmeren

Veel plezier met programmeren!
Veel plezier met programmeren!

TTGO T-watch kan veel meer dan een eenvoudig horloge, b.v.

  • ESP32 kan WiFi en BT draadloze communicatie maken;
  • gebruik een aanraakscherm kan een mooiere gebruikersinterface ontwikkelen
  • ingebouwde drie-assige versnellingsmeter (BMA423), ingebouwd stappentelleralgoritme en andere multifunctionele GSensor
  • vervangbare backplane kan LORA, GPS, SIM-functie toevoegen
  • I2C-poort kan veel meer functies uitbreiden

Stap 9: Arduino-T-Watch-GFX

Image
Image

Arduino-T-Watch-simpel vereist het ingedrukt houden van de kleine aan / uit-knop om wakker te worden en de eerste introductie van het LCD-scherm enkele seconden vertraging. Dus de gebruikerservaring is niet zo goed.

Ik heb een ander programma toegevoegd genaamd Arduino-T-Watch-GFX om dit te verbeteren. Dit programma verandert om de Arduino_GFX-displaybibliotheek te gebruiken, het kan dan vertellen dat het display in de slaapstand gaat om stroom te besparen. Dus wanneer de ESP32 in een lichte slaapstand gaat, verbruikt hij nu slechts minder dan 3 mA. En het kan nu ook wakker worden door het scherm aan te raken. De ESP32 ontwaken en uitslapen is veel sneller dan het hele herstartproces, je kunt de bovenstaande video zien, het is bijna onmiddellijke reactie. Theoretisch zou de batterij meer dan 2 dagen mee moeten kunnen gaan:P

Aanbevolen: