Tabla de contenido:

TTGO T-Watch: 9 pasos (con imágenes)
TTGO T-Watch: 9 pasos (con imágenes)

Video: TTGO T-Watch: 9 pasos (con imágenes)

Video: TTGO T-Watch: 9 pasos (con imágenes)
Video: T-Display S3 tiene una EXCELENTE pantalla, proyecto con BME280 paso a paso con Arduino IDE 2024, Noviembre
Anonim
Image
Image
TTGO T-Watch
TTGO T-Watch

Este instructivo muestra cómo comenzar a jugar con TTGO T-Watch.

Paso 1: ¿Qué es TTGO T-Watch?

¿Qué es TTGO T-Watch?
¿Qué es TTGO T-Watch?
¿Qué es TTGO T-Watch?
¿Qué es TTGO T-Watch?
¿Qué es TTGO T-Watch?
¿Qué es TTGO T-Watch?
¿Qué es TTGO T-Watch?
¿Qué es TTGO T-Watch?

TTGO T-Watch es un kit de desarrollo basado en ESP32 con forma de reloj. Flash de 16 MB y PSRAM de 8 MB, ambos con las mejores especificaciones. También incorpora una pantalla LCD IPS de 240x240, pantalla táctil, puerto para tarjeta micro-SD, puerto I2C, RTC, acelerómetro de 3 ejes y un botón personalizado. El backplane también se puede cambiar a otros módulos como LORA, GPS y SIM.

Pero lo más importante que puede convertirse en un reloj utilizable es el sistema de energía. Integra el chip de gestión de energía programable multicanal AXP202. ¡Esta es la primera vez que veo un kit de desarrollo que tiene un chip de potencia controlable I2C!

De acuerdo con la interfaz AXP202X_Library, puede controlar el encendido y apagado de cada canal de energía, leer el nivel de la batería, el estado de carga e incluso apagar directamente la energía, al igual que presionó el botón de encendido.

Árbitro.:

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

Paso 2: PoC de reloj simple

PoC de reloj simple
PoC de reloj simple

El chip de potencia parece bueno, pero ¿cuánto dura la batería incorporada de 180 mAh?

Dado que se diseñó como una perspectiva de reloj, comencemos con un ejemplo de reloj simple como PoC para examinar cómo funciona el chip de potencia.

Paso 3: Diseño de la esfera del reloj

Diseño de la esfera del reloj
Diseño de la esfera del reloj

ESP32 es un chip muy potente, CPU de doble núcleo de 240 Mhz y velocidad SPI de 80 Mhz pueden diseñar un diseño de pantalla muy suave. Así que diseñé una esfera de reloj decente con segundero de barrido continuo.

Sin embargo, las dificultades de diseño son inesperadamente altas, no es fácil quitar el último segundero sin parpadear. He probado 4 métodos adicionales para hacerlo. Las imágenes de arriba muestran un redibujo fallido que permaneció en el último segundo píxeles sin eliminar en la pantalla. El diseño de la esfera del reloj tiene muchas palabras que se pueden decir, pero un poco fuera de este proyecto. Quizás pueda decir más sobre el viaje del diseño en mis próximos instructivos, debería llamarse "Arduino Watch Core".

Paso 4: Establecer la hora

T-Watch tiene un chip RTC incorporado, lo que significa que puede mantener el tiempo entre el reinicio y el desarrollo. Antes de que pueda marcar la hora, primero debemos establecer la hora.

Hay varias formas de configurar la hora:

  • ESP32 tiene capacidad WiFi, por lo que puede sincronizar la hora con NTP
  • similar a otros dispositivos electrónicos, como una cámara digital, puede escribir una interfaz de usuario para establecer la hora
  • puede usar el plano posterior del GPS, luego puede obtener la hora del satélite

Para hacerlo simple, sigue siendo una forma difusa de configurar la hora, puede encontrar esta forma en algún ejemplo de reloj TFT. Cuando compila el programa en Arduino, el preprocesador definió 2 variables "_DATE_" y "_TIME_" para registrar el tiempo de compilación. Podemos utilizar esta información para hacer un programa muy simple para establecer la hora RTC.

Nota:

Este sencillo programa siempre establece la hora en el arranque. Pero el tiempo de compilación solo es válido en el primer arranque, por lo que debe sobrescribir con otro programa una vez que establezca el tiempo exitoso.

Árbitro.:

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

Paso 5: consumo de energía

El consumo de energía
El consumo de energía
El consumo de energía
El consumo de energía

Cuando el reloj está funcionando, mostrando un segundero de barrido continuo, consume un poco más de 60 mA. Por razones de ahorro de energía, debería entrar en modo de suspensión después de un período determinado.

Si apago la luz de fondo de la pantalla LCD y llamo al ESP32 de sueño profundo, baja a alrededor de 7.1 mA. Solo puede durar alrededor de 1 día para la batería de 180 mAh.

Sé que el chip LCD consume alrededor de 6 mA. Según la hoja de datos ST7789, hay un comando para ingresar al modo de suspensión. Pero la biblioteca TFT_eSPI actual aún no tiene API de modo de suspensión.

Y también hay alrededor de 1 mA consumido en algún lugar.

Paso 6: Chip de administración de energía programable

Image
Image
Programa
Programa

Hay muchos chips en el kit de desarrollo, de acuerdo con su hoja de datos, la mayoría de ellos admiten el modo de ahorro de energía. Sin embargo, no todas las bibliotecas expusieron la API del modo de ahorro de energía. Y es una codificación larga para el ahorro de energía al verificar y llamar a cada módulo para que ingrese al modo de suspensión.

¿Qué tal el apagado directo de la energía al igual que presionar directamente el botón de encendido? AXP202X_Library puede hacerlo simplemente llamando a la función shutdown (). En modo apagado, solo consume un poco por debajo de 0,3 mA. ¡Puede durar 25 días para la batería de 180 mAh!

Nota:

Acabo de cargar la batería el 28 de junio, puede seguir mi twitter para conocer el estado más reciente de la batería.

Actualizar:

La batería se agota el 18 de julio, la batería puede durar 20 días. Durante el período en el que verifico la hora varias veces al día, supongo que el reloj puede durar de 1 a 2 semanas con un uso normal.

Árbitro.:

github.com/lewisxhe/AXP202X_Library/pull/2

Paso 7: Programa

  1. Siga las instrucciones de la página https://github.com/Xinyuan-LilyGO/TTGO-T-Watch para instalar el software y la biblioteca.
  2. Descargue el código fuente en GitHub:
  3. Abra, compile y cargue Set_RTC.ino para actualizar la fecha y hora de RTC
  4. Abra, compile y cargue Arduino-T-Watch-simple.ino
  5. ¡Hecho!

El programa de reloj simple servirá:

  • leer la fecha y hora del RTC
  • dibujar una marca de reloj (puede seleccionar una marca de reloj redonda o cuadrada)
  • mostrar segundero de barrido continuo
  • apague la energía después de 60 segundos (o puede mantener presionado el botón de encendido para un apagado instantáneo)
  • presione el botón de encendido para encenderlo nuevamente

Paso 8: ¡Feliz programación

¡Feliz Programación!
¡Feliz Programación!

TTGO T-watch puede hacer mucho más que un simple reloj, p. Ej.

  • ESP32 puede hacer comunicación inalámbrica WiFi y BT
  • usar el panel de pantalla táctil puede desarrollar una interfaz de usuario más elegante
  • Acelerómetro de tres ejes integrado (BMA423), algoritmo contador de pasos integrado y otro GSensor multifunción
  • La placa posterior reemplazable puede agregar LORA, GPS, función SIM
  • El puerto I2C puede ampliar muchas más funciones

Paso 9: Arduino-T-Watch-GFX

Image
Image

Arduino-T-Watch-simple requiere presionar y mantener presionado el pequeño botón de encendido para despertar y la introducción inicial de la pantalla LCD se demora unos segundos. Entonces la experiencia del usuario no es tan buena.

He agregado otro programa llamado Arduino-T-Watch-GFX para mejorar esto. Este programa cambia para usar la biblioteca de pantalla Arduino_GFX, luego puede indicarle a la pantalla que entre en modo de suspensión para ahorrar energía. Entonces, cuando el ESP32 entra en modo de sueño ligero, ahora solo consume menos de 3 mA. Y también ahora puede activar la activación al tocar la pantalla. La activación y desactivación de la pantalla del ESP32 es mucho más rápido que el proceso de reinicio completo, puede ver el video de arriba, es una respuesta casi instantánea. En teoría, la batería debería durar más de 2 días: P

Recomendado: