Guia para a tela 1.8 TFT com Arduino
Tempo de leitura: 6 minutes
Neste guia, mostraremos como você pode usar a tela 1.8 TFT com o Arduino. Você aprenderá como conectar a tela, escrever texto, desenhar formas e exibir imagens na tela.
Conteudo
Apresentando a tela 1.8 TFT
O 1.8 TFT é um display colorido com 128 x 160 pixels coloridos. O monitor pode carregar imagens de um cartão SD – ele possui um slot para cartão SD na parte traseira. A figura a seguir mostra a tela frontal e traseira.

Este módulo usa comunicação SPI – veja a fiação abaixo. Para controlar a exibição, usaremos a biblioteca TFT, que já está incluída no Arduino IDE 1.8.1.
Ligação do pino
A tabela abaixo mostra a ligação de 1,8 TFT do Arduino UNO.
Display 1.8 TFT | Ligação para o Arduino Uno |
LED | 3.3V |
SCK | 13 |
SDA | 11 |
A0 ou DC | 9 |
RESET | 8 |
CS | 10 |
GND | GND |
VCC | 5V |
Nota: placas diferentes do Arduino têm pinos SPI diferentes. Se você estiver usando outra placa Arduino, consulte a documentação oficial do Arduino.
Inicializando a exibição
O visor TFT se comunica com o Arduino via comunicação SPI, portanto, você precisa incluir a biblioteca SPI no seu código. Também usamos a biblioteca TFT para escrever e desenhar na tela.
#include <TFT.h> #include <SPI.h>
Então, você precisa definir os pinos CS, A0 (ou DC) e RST:
#define cs 10 #define dc 9 #define rst 8
Crie uma instância da biblioteca chamada TFTscreen:
TFT TFTscreen = TFT(cs, dc, rst);
Finalmente, no setup(), você precisa inicializar a biblioteca:
TFTscreen.begin();
Exibir texto
Para escrever texto na tela, você pode personalizar a cor de fundo da tela, tamanho da fonte e cor.
Para definir a cor de fundo, use:
TFTscreen.background(r, g, b);
Em que, r, g e b são os valores RGB para uma determinada cor. Para escolher a cor da fonte:
TFTscreen.stroke(r, g, b);
Para definir o tamanho da fonte:
TFTscreen.setTextSize(2);
Você pode aumentar ou diminuir o número fornecido como argumento, para aumentar ou diminuir o tamanho da fonte.
Por fim, para desenhar texto na tela, use a seguinte linha:
TFTscreen.text("Hello, World!", x, y);
No qual “Olá, mundo!” É o texto que você deseja exibir e a coordenada (x, y) é o local em que você deseja iniciar o texto na tela.
Código
O exemplo a seguir exibe “Olá, mundo!” No meio da tela e altera a cor da fonte a cada 200 milissegundos.
Copie o código a seguir para o seu Arduino IDE e faça o upload para sua placa Arduino.
/********* Programa : blog arduino *********/ // incluem bibliotecas TFT e SPI #include <TFT.h> #include <SPI.h> // definição de pino para Arduino UNO #define cs 10 #define dc 9 #define rst 8 // crie uma instância da biblioteca TFT TFTscreen = TFT(cs, dc, rst); void setup() { //inicializar a biblioteca TFTscreen.begin(); //limpe a tela com um fundo preto TFTscreen.background(0, 0, 0); //defina o tamanho do texto TFTscreen.setTextSize(2); } void loop() { //gerar uma cor aleatória int redRandom = random(0, 255); int greenRandom = random (0, 255); int blueRandom = random (0, 255); //definir uma cor de fonte aleatória TFTscreen.stroke(redRandom, greenRandom, blueRandom); //print Olá, mundo! no meio da tela TFTscreen.text("Ola, mundo!", 6, 57); // aguarde 200 milissegundos até mudar para a próxima cor delay(200); }
Aqui está o seu texto “Olá, mundo!” Na tela 1.8 TFT. (Obs: o display não aceita acentuação – Tire antes do exemplo)

Obs: Este meu display, apresenta um pequeno erro, de fabrica isso não acontece num funcionando, normal. (um ‘.’ abaixo do ‘u’)
Formas de exibição
A biblioteca TFT fornece funções úteis para desenhar formas na tela:
- TFTscreen.point(x, y): exibir um ponto na coordenada (x, y)
- TFTscreen.line(xStart, yStart, xEnd, yEnd): desenha uma linha que começa em (xStart, yStart) e termina em (xEnd, yEnd)
- TFTscreen.rect(xStart, yStart, width, height): desenha um retângulo com o canto superior esquerdo em (xStart, yStart) com a largura e a altura definidas
- TFTscreen.circle(x, y, radius): desenha um círculo com centro em (x, y) com o raio especificado
Código
O exemplo a seguir exibe várias formas. Sempre que o código passa pelo loop, as formas mudam de cor.
Copie o código a seguir para o seu Arduino IDE e faça o upload para sua placa Arduino.
/********* Programa : blog arduino *********/ // incluem bibliotecas TFT e SPI #include <TFT.h> #include <SPI.h> // definição de pino para Arduino UNO #define cs 10 #define dc 9 #define rst 8 // crie uma instância da biblioteca TFT TFTscreen = TFT(cs, dc, rst); void setup() { //inicializar a biblioteca TFTscreen.begin(); //limpe a tela com um fundo preto TFTscreen.background(0, 0, 0); } void loop() { //gerar uma cor aleatória int redRandom = random(0, 255); int greenRandom = random (0, 255); int blueRandom = random (0, 255); //definir uma cor de fonte aleatória TFTscreen.stroke(redRandom, greenRandom, blueRandom); // acende um único ponto TFTscreen.point(80,64); // aguarde 200 milissegundos até mudar para a próxima figura delay(500); // Desenhe uma linha TFTscreen.line(0,64,160,64); delay(500); // Desenha um quadrado TFTscreen.rect(50,34,60,60); delay(500); // Desenhar um círculo TFTscreen.circle(80,64,30); delay(500); // Apaga todas as figuras TFTscreen.background(0,0,0); }
Aqui estão as formas na tela

Obs: Este meu display, apresenta um pequeno erro, de fabrica isso não acontece num funcionando, normal veja (um ‘.’ abaixo do ‘u’), imagem tirada no celular
Exibir imagens
A tela 1.8 TFT pode carregar imagens do cartão SD. Para ler no cartão SD, use a biblioteca SD, já incluída no software Arduino IDE. Siga as próximas etapas para exibir uma imagem no visor:
1) Pinos do conector de solda para o cartão SD. Existem quatro pinos opostos aos pinos da tela, como mostra a figura abaixo.

2) A tela pode carregar imagens maiores ou menores que o tamanho da tela (160×128 px), mas para obter melhores resultados, edite o tamanho da imagem para 160×128 px.
3) A imagem deve estar no formato .bmp. Para fazer isso, você pode usar um software de edição de fotos e salvar a imagem no formato .bmp.
4) Copie a imagem no cartão SD e insira-a no slot para cartão SD na parte traseira do visor.
5) Conecte os pinos do cartão SD ao Arduino, seguindo a tabela abaixo:
Cartão SD no Visor TFT | Ligação para o Arduino Uno |
CS | 4 |
MOSI | 11 |
MISO | 12 |
SCK | 13 |
Tanto a tela quanto o cartão SD funcionam com a comunicação SPI, para que você tenha pinos no Arduino com duas conexões.
6) No IDE do Arduino, vá para File->Examples->TFT->Arduino->TFTBitmaLogo.
7) Edite o código, para que ele procure sua imagem. Substitua “arduino.bmp” pelo nome da sua imagem:
//agora que o cartão SD pode ser acessado, tente carregar o arquivo de imagem logo = TFTscreen.loadImage("arduino.bmp");
8) Faça o upload do código para o seu Arduino.
Nota: algumas pessoas encontram problemas com essa tela ao tentar ler a partir do cartão SD. Não sabemos por que isso acontece. Na verdade, testamos algumas vezes e funcionou bem e, quando estávamos prestes a gravar para mostrar o resultado final, a tela não reconheceu mais o cartão SD – não temos certeza se é um problema com o suporte do cartão SD que não estabelece uma conexão adequada com o cartão SD. No entanto, temos certeza de que essas instruções funcionam, porque as testamos.
Empacotando
Neste guia, mostramos como usar a tela 1.8 TFT com o Arduino: exibir texto, desenhar formas e exibir imagens. Você pode adicionar facilmente uma interface visual agradável aos seus projetos usando essa exibição.
Você tem algum projeto com a tela 1.8 TFT? Deixe-nos saber na seção de comentários abaixo.
Para facilidade, no link ao lado com o arquivo do exemplo para teste (menos com o SD Card) – (Link)
Visits: 3 Visits: 1199318