Manual
do
Maker
.
com
Como citado em outros artigos, os displays RGB ILI9341, ST7789 e afins, são RGB565. Por consequente, as cores estão limitadas a 65536. Bem, antigamente os "computadores" tinham placas de vídeo com suporte a apenas 256 cores. Já estamos muito além, tanto em processamento quanto em recursos, usando os microcontroladores mais modernos. Sem alongar o assunto, vamos ver como ver o processo de criação de imagem RGB565 para ST7789, usando o EasyMaker Image Suite.
Agora a interface inicia em inglês, mas a interface é composta basicamente pelas palavras que usamos frequentemente, trabalhando com tecnologia. A tradução automática ainda não está implementada, mas estranhamente é um dos recursos mais solicitados.
A regra é a de sempre:
Ajuste o tamanho da imagem para o mais próximo possível do tamanho desejado. Se a imagem n ão casa o tamanho, o lado menor deve estar na medida. Após, manipule o corte no canto inferior esquerdo, em Displacement and Cut.
Aprecie o resultado, porque nessa aba é só o que tem pra fazer no momento. Mas se não passar por ela, não tem código.
E aqui teremos uma novidade já na próxima versão; um sketch de exemplo ao lado do código da imagem. Se for seu primeiro contato com o display, já sai funcionando de cara!
Outra mudança foi a remoção da numeração de linha, que criava uma certa complicação técnica aqui no desenvolvimento. Parece bobagem, mas não é. Porém, a próxima versão conta com a primeira habilitação de botões na aba Code, para copiar o código sem ter que arrastar o mouse pelo array!
Algumas novidades extras vem entrando, inclusive estética. Continue acompanhando!
Para testar sua imagem, sugiro experimentar esse sketch:
#include <TFT_eSPI.h>
#include <SPI.h>
#include "image.h"
TFT_eSPI tft = TFT_eSPI();
int teste=0;
void setup() {
Serial.begin(9600);
tft.init();
tft.setSwapBytes(true);
tft.setRotation(0);
tft.fillScreen(TFT_WHITE);
tft.pushImage(0,0,135,240,img2display);
}
void loop() {
}
Salve a imagem em um arquivo junto ao projeto. Você pode nomeá-lo como quiser, desde que tenha a extensão ".h" eque ele seja incluído no sketch. No exemplo, criei o arquivo image.h para colocar o array de bytes. No sketch, fiz o #include "image.h".
A placa de exemplo possui um display ST7789, com dimensão de 135 por 240. Na nova versão do EasyMaker, todos os geradores incluirão uma variável com as dimensões definidas, pra não precisar especificar no código.
Se você não usou nenhuma vez a bibliteca TFT_eSPI, então após instalá-la, entre no diretório Arduino/libraries/TFT_eSPI. Rdite o arquivo User_Setup.h e descomente os define relacionados à placa e display. No caso da TTGO T-Display, procure por esses defines, que devem ter o valor atribuído como abaixo:
Depois, é só gravar sua placa e se divertir!
Já escrevi sobre essa placa outras vezes, até apresentei uma versão usando a RP2040 como MCU. Só não estou certo se coloquei o pinout em algum outro artigo, então invés de procurar, êi-lo:
Nunca foi tão fácil e rápido gerar uma imagem RGB565 para displays, como é agora!
Aproveite para se inscrever em nosso canal DobitaobyteBrasil no youtube, o primeiro vídeo apresentando o EasyMaker está para sair! Ainda não baixou o EasyMaker? Então passa no repositório do EasyMaker e baixe o seu!
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.