Índice:

TTGO T-Watch: 9 etapas (com imagens)
TTGO T-Watch: 9 etapas (com imagens)

Vídeo: TTGO T-Watch: 9 etapas (com imagens)

Vídeo: TTGO T-Watch: 9 etapas (com imagens)
Vídeo: New 3D Printed Case for the TTGO electronics display! #homeassistant #homeautomation 2024, Julho
Anonim
Image
Image
TTGO T-Watch
TTGO T-Watch

Estas instruções mostram como começar a jogar com TTGO T-Watch.

Etapa 1: O que é TTGO T-Watch?

O que é TTGO T-Watch?
O que é TTGO T-Watch?
O que é TTGO T-Watch?
O que é TTGO T-Watch?
O que é TTGO T-Watch?
O que é TTGO T-Watch?
O que é TTGO T-Watch?
O que é TTGO T-Watch?

TTGO T-Watch é um kit de desenvolvimento baseado em ESP32 em formato de relógio. Flash de 16 MB e PSRAM de 8 MB são as especificações principais. Ele também embutido em um LCD IPS 240x240, tela sensível ao toque, porta para cartão micro-SD, porta I2C, RTC, acelerômetro de 3 eixos e um botão personalizado. O backplane também pode ser comutado para outros módulos, como LORA, GPS e SIM.

Mas a coisa mais importante que ele pode se tornar um relógio utilizável é o sistema de energia. Ele integrou o chip de gerenciamento de energia programável multicanal AXP202. Esta é a primeira vez que vejo um kit de desenvolvimento com um chip de potência controlável I2C!

De acordo com a interface AXP202X_Library, você pode controlar cada canal de energia ligado e desligado, ler o nível da bateria, o status de carga e até mesmo desligar a energia diretamente, assim como apertou o botão liga / desliga.

Ref.:

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

Etapa 2: PoC de observação simples

PoC de relógio simples
PoC de relógio simples

O chip de alimentação parece bom, mas quanto tempo dura com a bateria integrada de 180 mAh?

Como ele foi projetado como uma perspectiva de relógio, vamos começar com um exemplo simples de relógio como um PoC para examinar como o chip de potência funciona.

Etapa 3: projete o mostrador do relógio

Design do mostrador do relógio
Design do mostrador do relógio

ESP32 é um chip muito poderoso, CPU dual core de 240 Mhz e velocidade SPI de 80 Mhz pode criar um layout de exibição muito suave. Portanto, projetei um mostrador de relógio decente com ponteiro de segundos de varredura contínua.

No entanto, as dificuldades de design são inesperadamente altas, não é fácil remover o último ponteiro dos segundos sem piscar. Eu tentei 4 métodos extras para fazer isso. As imagens acima mostram um redesenho com falha que permaneceu no último segundo pixels não removidos da tela. O trabalho do mostrador do relógio de design tem muitas palavras que podemos dizer, mas um pouco fora deste projeto. Posso dizer mais sobre a jornada de design em meus próximos instructables, que deve ser chamado de "Arduino Watch Core".

Etapa 4: definir a hora

O T-Watch tem chip RTC integrado, o que significa que ele pode manter o tempo entre a reinicialização durante o desenvolvimento. Antes de marcar a hora, devemos primeiro acertar a hora.

Existem várias maneiras de definir a hora:

  • ESP32 tem capacidade WiFi, então você pode sincronizar o tempo com NTP
  • semelhante a outros dispositivos eletrônicos, como câmeras digitais, você pode escrever uma IU para definir a hora
  • você pode usar o plano de fundo do GPS, então você pode obter a hora do satélite

Para simplificar, ainda é uma forma preguiçosa de definir a hora, você pode encontrar essa forma em algum exemplo de relógio TFT. Quando você compila o programa no Arduino, o pré-processador definiu 2 variáveis "_DATE_" e "_TIME_" para registrar o tempo de compilação. Podemos utilizar essas informações para fazer um programa muito simples para definir a hora RTC.

Observação:

Este programa simples sempre define a hora na inicialização. Mas o tempo de compilação só é válido na primeira inicialização, então você deve sobrescrever com outro programa assim que ele definir o tempo de sucesso.

Ref.:

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

Etapa 5: Consumo de energia

Consumo de energia
Consumo de energia
Consumo de energia
Consumo de energia

Quando o relógio está funcionando, mostrando o ponteiro dos segundos de varredura contínua, ele consome um pouco mais de 60 mA. Por motivos de economia de energia, ele deve entrar no modo de hibernação após um certo período.

Se eu desligar a luz de fundo do LCD e chamar o ESP32 de sono profundo, ele cairá para cerca de 7,1 mA. Só pode durar cerca de 1 dia com a bateria de 180 mAh.

Eu sei que cerca de 6 mA são consumidos pelo chip LCD. De acordo com a ficha técnica do ST7789, há um comando para entrar no modo de hibernação. Mas a biblioteca TFT_eSPI atual ainda não tem API de modo de suspensão.

E também ainda há cerca de 1 mA consumido por algum lugar.

Etapa 6: Chip de gerenciamento de energia programável

Image
Image
Programa
Programa

Existem muitos chips no kit de desenvolvimento, de acordo com sua ficha técnica, a maioria deles suporta o modo de economia de energia. No entanto, nem todas as bibliotecas expuseram a API do modo de economia de energia. E é uma longa codificação para economia de energia, verificando e chamando cada módulo para entrar no modo de hibernação.

Que tal desligamento direto da energia assim como o botão liga / desliga é pressionado diretamente? A AXP202X_Library pode fazer isso simplesmente chamando a função shutdown (). No modo de desligamento, ele consome apenas um pouco abaixo de 0,3 mA. Pode durar 25 dias com a bateria de 180 mAh!

Observação:

Acabei de carregar a bateria em 28 de junho, você pode seguir meu twitter para saber o status mais recente da bateria.

Atualizar:

A bateria esgota-se em 18 de julho, a bateria pode durar 20 dias. Durante o período em que verifico a hora algumas vezes por dia, presumo que o relógio possa durar de 1 a 2 semanas em uso normal.

Ref.:

github.com/lewisxhe/AXP202X_Library/pull/2

Etapa 7: Programa

  1. Siga as instruções da página https://github.com/Xinyuan-LilyGO/TTGO-T-Watch para instalar o software e a biblioteca.
  2. Baixe o código-fonte no GitHub:
  3. Abra, compile e carregue Set_RTC.ino para atualizar a data e hora do RTC
  4. Abra, compile e carregue Arduino-T-Watch-simple.ino
  5. Feito!

O programa de observação simples fará:

  • leia a data e hora do RTC
  • desenhar a marca do relógio (você pode selecionar a marca do relógio redondo ou quadrado)
  • mostrar varredura contínua segunda mão
  • desligamento após 60 segundos (ou você pode segurar o botão liga / desliga para desligamento instantâneo)
  • pressione o botão liga / desliga para ligá-lo novamente

Etapa 8: Boa programação

Boa programação!
Boa programação!

O relógio TTGO T pode fazer muito mais do que um simples relógio, por exemplo,

  • ESP32 pode fazer comunicação sem fio WiFi e BT
  • usar o painel de tela de toque pode desenvolver uma IU mais sofisticada
  • acelerômetro de três eixos integrado (BMA423), algoritmo de contador de passos integrado e outro GSensor multifuncional
  • o painel traseiro substituível pode adicionar LORA, GPS, função SIM
  • A porta I2C pode estender muito mais recursos

Etapa 9: Arduino-T-Watch-GFX

Image
Image

O Arduino-T-Watch-simple exige que você pressione e segure o minúsculo botão liga / desliga para acordar e a introdução inicial do LCD alguns segundos de atraso. Portanto, a experiência do usuário não é tão boa.

Eu adicionei outro programa chamado Arduino-T-Watch-GFX para melhorar isso. Este programa muda para usar a biblioteca de exibição Arduino_GFX, ele pode então dizer ao monitor para entrar no modo de hibernação para economizar energia. Portanto, quando o ESP32 entra em repouso leve, ele agora consome abaixo de 3 mA. E agora também pode acionar o despertador ao tocar na tela. O ESP32 despertar e exibir o modo de espera é muito mais rápido do que todo o processo de reinicialização, você pode ver o vídeo acima, é uma resposta quase instantânea. Teoricamente, a bateria deve durar mais de 2 dias: P

Recomendado: