Table des matières:

TTGO T-Watch : 9 étapes (avec photos)
TTGO T-Watch : 9 étapes (avec photos)

Vidéo: TTGO T-Watch : 9 étapes (avec photos)

Vidéo: TTGO T-Watch : 9 étapes (avec photos)
Vidéo: ESP32 development with AJAX web integration using the TTGO T-DISPLAY 2024, Novembre
Anonim
Image
Image
TTGO T-Montre
TTGO T-Montre

Ces instructables montrent comment commencer à jouer avec TTGO T-Watch.

Étape 1: Qu'est-ce que TTGO T-Watch ?

Qu'est-ce que TTGO T-Watch ?
Qu'est-ce que TTGO T-Watch ?
Qu'est-ce que TTGO T-Watch ?
Qu'est-ce que TTGO T-Watch ?
Qu'est-ce que TTGO T-Watch ?
Qu'est-ce que TTGO T-Watch ?
Qu'est-ce que TTGO T-Watch ?
Qu'est-ce que TTGO T-Watch ?

TTGO T-Watch est un kit de développement basé sur ESP32 en forme de montre. 16 Mo de mémoire flash et 8 Mo de PSRAM sont tous deux des spécifications de pointe. Il intègre également un écran LCD 240x240 IPS, un écran tactile, un port pour carte micro-SD, un port I2C, un RTC, un accéléromètre à 3 axes et un bouton personnalisé. Le fond de panier peut également être commuté sur d'autres modules tels que LORA, GPS et SIM.

Mais la chose la plus importante qu'elle puisse devenir une montre utilisable est le système d'alimentation. Il a intégré la puce de gestion de l'alimentation programmable multicanal AXP202. C'est la première fois que je vois un kit de développement doté d'une puce d'alimentation contrôlable I2C !

Selon l'interface AXP202X_Library, vous pouvez contrôler chaque canal d'alimentation sous et hors tension, lire le niveau de la batterie, l'état de charge et même couper directement l'alimentation, tout comme vous appuyez sur le bouton d'alimentation.

Réf.:

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

Étape 2: PoC de surveillance simple

PoC de surveillance simple
PoC de surveillance simple

La puce d'alimentation semble bonne, mais combien de temps dure-t-elle pour la batterie intégrée de 180 mAh ?

Puisqu'il est conçu comme une perspective de surveillance, commençons par un exemple de surveillance simple en tant que PoC pour examiner le fonctionnement de la puce d'alimentation.

Étape 3: Concevoir le cadran de la montre

Cadran de montre design
Cadran de montre design

ESP32 est une puce très puissante, un processeur dual core de 240 Mhz et une vitesse SPI de 80 Mhz peuvent concevoir une disposition d'affichage très fluide. J'ai donc conçu un cadran de montre décent avec une trotteuse à balayage continu.

Cependant, les difficultés de conception sont inattendues, il n'est pas facile de retirer la dernière aiguille des secondes sans cligner des yeux. J'ai essayé 4 méthodes supplémentaires pour le faire. Les images ci-dessus montrent un échec de rafraîchissement qui est resté à la dernière seconde des pixels non supprimés à l'écran. Le design du cadran de la montre peut dire beaucoup de mots, mais un peu en dehors de ce projet. Peut-être que je peux en dire plus sur le parcours de conception dans mes prochaines instructables, il devrait s'appeler "Arduino Watch Core".

Étape 4: Réglez l'heure

T-Watch a une puce RTC intégrée, ce qui signifie qu'il peut garder le temps entre la réinitialisation pendant le développement. Avant qu'il puisse garder l'heure, nous devons d'abord régler l'heure.

Il existe différentes manières de régler l'heure:

  • ESP32 a une capacité WiFi, vous pouvez donc synchroniser l'heure avec NTP
  • similaire à d'autres appareils électroniques, comme un appareil photo numérique, vous pouvez écrire une interface utilisateur pour régler l'heure
  • vous pouvez utiliser le fond de panier GPS, puis vous pouvez obtenir l'heure du satellite

Pour faire simple, c'est toujours un moyen paresseux de régler l'heure, vous pouvez le trouver dans un exemple d'horloge TFT. Lorsque vous compilez le programme dans Arduino, le préprocesseur a défini 2 variables "_DATE_" et "_TIME_" pour enregistrer le temps de compilation. Nous pouvons utiliser ces informations pour créer un programme très simple pour régler l'heure RTC.

Noter:

Ce programme simple règle toujours l'heure au démarrage. Mais le temps de compilation n'est valide qu'au premier démarrage, vous devez donc l'écraser avec un autre programme une fois qu'il a défini le succès de l'heure.

Réf.:

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

Étape 5: Consommation d'énergie

Consommation d'énergie
Consommation d'énergie
Consommation d'énergie
Consommation d'énergie

Lorsque la montre fonctionne, affichant une trotteuse à balayage continu, elle consomme un peu plus de 60 mA. Pour des raisons d'économie d'énergie, il devrait passer en mode veille après une certaine période.

Si j'éteins le rétroéclairage LCD et appelle le sommeil profond ESP32, il tombe à environ 7,1 mA. Il ne peut durer qu'environ 1 jour pour la batterie 180 mAh.

Je sais qu'environ 6 mA sont consommés par la puce LCD. Selon la fiche technique ST7789, il existe une commande pour entrer en mode veille. Mais la bibliothèque TFT_eSPI actuelle n'a pas encore d'API en mode veille.

Et aussi il y a encore environ 1 mA consommé quelque part.

Étape 6: Puce de gestion de l'alimentation programmable

Image
Image
Programme
Programme

Il existe de nombreuses puces dans le kit de développement, selon leur fiche technique, la plupart d'entre elles prennent en charge le mode d'économie d'énergie. Cependant, toutes les bibliothèques n'exposaient pas l'API du mode d'économie d'énergie. Et c'est un long codage pour économiser de l'énergie en vérifiant et en appelant chaque module en mode veille.

Que diriez-vous d'un arrêt direct de l'alimentation, tout comme d'une pression directe sur le bouton d'alimentation ? AXP202X_Library peut le faire en appelant simplement la fonction shutdown(). En mode arrêt, il ne consomme qu'un peu moins de 0,3 mA. Il peut durer 25 jours pour la batterie 180 mAh !

Noter:

Je viens de charger la batterie le 28 juin, vous pouvez suivre mon twitter pour connaître le dernier état de la batterie.

Mettre à jour:

La batterie s'épuise au 18 juillet, la batterie peut durer 20 jours. Pendant la période où je vérifie l'heure plusieurs fois par jour, je suppose que la montre peut durer 1 à 2 semaines en utilisation normale.

Réf.:

github.com/lewisxhe/AXP202X_Library/pull/2

Étape 7: programmer

  1. Suivez les instructions de la page https://github.com/Xinyuan-LilyGO/TTGO-T-Watch pour installer le logiciel et la bibliothèque.
  2. Téléchargez le code source sur GitHub:
  3. Ouvrez, compilez et téléchargez Set_RTC.ino pour mettre à jour la date et l'heure RTC
  4. Ouvrez, compilez et téléchargez Arduino-T-Watch-simple.ino
  5. Terminé!

Le programme de montre simple fera:

  • lire la date et l'heure RTC
  • dessiner une marque d'horloge (vous pouvez sélectionner une marque d'horloge ronde ou carrée)
  • afficher la trotteuse à balayage continu
  • arrêtez l'alimentation après 60 secondes (ou vous pouvez maintenir le bouton d'alimentation enfoncé pour un arrêt instantané)
  • appuyez sur le bouton d'alimentation pour le rallumer

Étape 8: Bonne programmation

Bonne programmation !
Bonne programmation !

TTGO T-watch peut faire bien plus qu'une simple montre, par ex.

  • ESP32 peut faire la communication sans fil WiFi et BT
  • utiliser un écran tactile peut développer une interface utilisateur plus sophistiquée
  • Accéléromètre à trois axes intégré (BMA423), algorithme de compteur de pas intégré et autre capteur GSensor multifonction
  • fond de panier remplaçable peut ajouter LORA, GPS, fonction SIM
  • Le port I2C peut étendre beaucoup plus de fonctionnalités

Étape 9: Arduino-T-Watch-GFX

Image
Image

Arduino-T-Watch-simple nécessite d'appuyer et de maintenir enfoncé le petit bouton d'alimentation pour se réveiller et l'introduction initiale de l'écran LCD retarde de quelques secondes. L'expérience utilisateur n'est donc pas si bonne.

J'ai ajouté un autre programme appelé Arduino-T-Watch-GFX pour améliorer cela. Ce programme change pour utiliser la bibliothèque d'affichage Arduino_GFX, il peut alors indiquer à l'affichage de passer en mode veille pour économiser de l'énergie. Ainsi, lorsque l'ESP32 entre en veille légère, il ne consomme que moins de 3 mA maintenant. Et aussi, il peut maintenant déclencher le réveil en touchant l'écran. L'ESP32 se réveille et affiche la veille est beaucoup plus rapide que le processus de redémarrage complet, vous pouvez voir la vidéo ci-dessus, c'est une réponse presque instantanée. Théoriquement la batterie devrait pouvoir tenir plus de 2 jours:P

Conseillé: