É sempre um prazer escrever sobre os produtos da LilyGo, principalmente pela qualidade. Hoje apresento o TTGO T-WATCH com a placa acessória de robótica. E é incrível!
Antes de seguirmos, gostaria de deixar claro que, como pode ser visto na imagem de destaque, ele é um pouco alto, mas repare na foto mais adiante que a base para os motores excede algo em torno de 1 centímetro do tamanho que seria se fosse apenas relógio.
Table of Contents
TTGO T-WATCH
Na China encontramos produtos de todos os preços e qualidade; baixa, média e alta. O iPhone é feito na China, certo? Bem, coloque os produtos da LilyGo no mesmo patamar. Eles prezam demais pela qualidade do hardware e o acabamento!
Por dentro do relógio
O TTGO T-WATCH pode ser usado no pulso, bastando substituir a parte robótica pelo fundo baixo. Falando apenas da parte do relógio, temos um display ST7789 com touch screen, bastante sensível e com um lindo acabamento. Na placa do ESP32 tem uma bateria para manter a alimentação do RTC. Também tem um slot bastante pequeno utilizado para substituir ou integrar a placa que será utilizada.
No caso desse artigo, a placa acessória é um robô com 2 motores, cuja placa também contempla uma bateria recarregável. Abaixo, a foto do conjunto, que desmontei para ver seu interior.
Apesar de compacto, não é um trabalho difícil desmontar e remontar. Isso significa que comprar placas acessórias não causará problemas na hora de montar. E tem várias placas, como por exemplo, a de games. Veja como o TTGO T-WATCH é bem organizado:
Por fora do relógio
Ele é simplesmente lindo. Do lado de fora temos um slot para cartão micro-sd, para ser utilizado com a placa acessória correspondente. Também temos um botão on/off e um botão de uso geral. Desse mesmo lado temos o conector USB: USB-C ! Uma placa com esp32 e com conector USB-C! Chega de procurar qual dos “três lados do cabo” é o que encaixa na porta USB da controladora!
Do lado oposto aos supracitados, temos uma entrada protegida com uma borracha, cuja entrada é uma expansão I2C. Dá ou não dá vontade de ter um? Esse TTGO T-WATCH é apaixonante!
Código inicial
Se tiver suporte ao ESP32 em sua IDE, inicie um projeto selecionando a placa TTGO T-WATCH. Clone ou baixe o arquivo zip (à importar na IDE do Arduino, no segundo caso) para o diretório de bibliotecas. No PlatformIO o diretório é algo como ~/.platformio/libs e no caso da IDE do Arduino deve ser algo como ~/Arduino/libraries.
Na IDE estarão dispostos códigos de exemplo, basta escolher. Mas, especificamente no meu caso, o display não funcionou com a biblioteca padrão – que seria um espetáculo, digo assim de passagem. Talvez isso ocorra exclusivamente no Linux, uma vez que a biblioteca parece muito bem feita e não tive tempo o suficiente para depurar o problema. Alternativamente instalei as bibliotecas para o display ST7789 (já mostrado em outros artigos) e usei um código de teste básico para tirar essa imagem de destaque. Também testei o código de exemplo para os motores e acionei pelo display touch. Tudo funcionando!
Vou disponibilizar um código inicial sem muito tratamento pra mostrar a simplicidade de uso (com minhas credenciais de laboratório):
#include <Arduino.h> #include <WiFi.h> #include <TFT_eSPI.h> #include "bitmap.h" #include "/home/djames/.platformio/lib/TFT_eSPI_ID1559/examples/320 x 240/Free_Font_Demo/Free_Fonts.h" #include "time.h" const char* ntpServer = "pool.ntp.org"; const long gmtOffset_sec = 0; const int daylightOffset_sec = -3600*3; const char* ssid = "SuhankoFamily"; const char* password = "fsjmr112"; TFT_eSPI tft = TFT_eSPI(); // Invoke library void printLocalTime() { struct tm timeinfo; if(!getLocalTime(&timeinfo)){ Serial.println("Failed to obtain time"); return; } char myTimeIs[64]; memset(myTimeIs,0,sizeof(myTimeIs)); timeinfo.tm_hour = timeinfo.tm_hour - 3; strftime(myTimeIs, 64, " %H:%M:%S", &timeinfo); int xpos = 00; int ypos = 80; tft.setTextColor(TFT_DARKCYAN); tft.setCursor(xpos, ypos); tft.pushImage(0,0,240,240,mercy); tft.setFreeFont(FSS24); // Select Free Serif 12 point font tft.println(); // Move cursor down a line tft.print(myTimeIs); } void setup(void) { Serial.begin(9600); WiFi.begin(ssid, password); while (WiFi.waitForConnectResult() != WL_CONNECTED){ Serial.print("."); } Serial.println(); Serial.println(WiFi.localIP()); configTime(gmtOffset_sec, daylightOffset_sec, ntpServer); tft.begin(); tft.setSwapBytes(true); tft.fillScreen(TFT_BLACK); tft.pushImage(0,0,240,240,mercy); } void loop() { printLocalTime(); /* tft.setFreeFont(FSS24); // Select Free Serif 12 point font tft.println(); // Move cursor down a line tft.print(" 02:33"); */ vTaskDelay(pdMS_TO_TICKS(1000)); }
Onde comprar o TTGO T-WATCH?
Ele pode ser encontrado no Aliexpress (por exemplo, através desse link). O site da LilyGo é esse.
Próximo artigo relacionado
Ainda farei alguns outros artigos a respeito, agora mão-na-massa. Daí mostro algumas brincadeiras com essa belezinha, é só acompanhar!
1 thought on “TTGO T-WATCH com acessório de robô”
Comments are closed.