СОДЕРЖАНИЕ ►
Цветной TFT экран с диагональю 1.8 или 2.4 дюйма будет полезен для проектов, требующих вывода текста. Например, при создании часов с будильником или домашней метеостанции. Рассмотрим характеристики и распиновку цветного дисплея 1.8 TFT SPI и подключение модуля экрана 1.8 TFT SPI 128×160 v1.1 к Arduino или подключение дисплея 2.4 TFT SPI 240×320 к микроконтроллеру Arduino Uno.
1.8 TFT SPI дисплей характеристики, распиновка
С помощью платы Arduino и TFT ЖК-экрана можно выводить на экран большое количество графической и текстовой информации. Аббревиатура TFT означает «тонкопленочный транзистор». Своим названием этот экран обязан тому, что каждый пиксель состоит из конденсатора и небольшого транзистора, напоминающего тонкую пленку. В результате контрастность экрана увеличивается, в отличие от ЖК-экранов.

Характеристики дисплея 1.8 TFT SPI 128×160
- Рабочее напряжение: 3,3 — 5 В
- Рабочий ток: 90 мА
- Диагональ: 1.8 дюйма
- Разрешение: 128×160 px
- Технология: TFT
- Интерфейс: SPI
- Драйверы матриц: ST7735
- Количество цветов: 65536
- Размеры: 50,8 × 36,6 мм
Цветной графический TFT-дисплей с диагональю 1,8″ имеет разрешение 128 x 160 пикселей. За работу модуля отвечает контроллер ST7735R, способный отображать до 65 000 цветов в формате RGB. На задней панели модуля расположен слот для SD-карты, которая используется для загрузки изображений на дисплей. Подключение к микроконтроллеру Arduino осуществляется через четырехпроводной интерфейс SPI.
Подключение дисплея 1.8 TFT SPI к Arduino
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega;
- 1.8 TFT SPI 128×160 display;
- провода «папа-мама».

| TFT spi 1.8 | Arduino Uno | Arduino Nano | Arduino Mega |
| LED | 3.3V | 3.3V | 3.3V |
| SCK | 13 | 13 | 52 |
| SDA | 11 | 11 | 51 |
| A0 | 9 | 9 | 9 |
| RESET | 8 | 8 | 8 |
| CS | 10 | 10 | 10 |
| GND | GND | GND | GND |
| VСС | 5V | 5V | 5V |
Подключите tft дисплей по шине spi к Arduino, как показано на схеме выше. Обратите внимание, что порты SCK и SDA на плате Arduino Mega расположены на портах 52 и 51 соответственно. Для первого знакомства с экраном ST7735 нет необходимости устанавливать какие-либо библиотеки. В программе используются стандартные библиотеки TFT.h (библиотека для экрана) и SPI.h (библиотека для шины spi).
Скетч для подключения дисплея 1.8 TFT к Ардуино
#include "TFT.h" #include "SPI.h" #define cs 10 // пин для подключения CS #define dc 9 // пин для подключения A0 #define rst 8 // пин для подключения reset TFT screen = TFT(cs, dc, rst); void setup() { screen.begin(); // цвет экрана ( r , g , b ) screen.background(0, 0, 0); // размер шрифта screen.setTextSize(1); // цвет текста ( r , g , b ) screen.stroke(255, 255, 255); // вывод на экран текста с координатами x и y screen.text("Hello, World!", 45, 20); delay(1000); } void loop() { // очистка экрана дисплея screen.background(0, 0, 0); // размер шрифта screen.setTextSize(2); // плавное изменение цвета текста for (int i = 0; i <= 255; i=i+5) { screen.stroke(i, 255 - i, 255); screen.text("Hello, World!", 5, 50); delay(5); } delay(1000); // очистка экрана дисплея screen.background(0, 0, 0); // размер шрифта screen.setTextSize(4); // прокрутка текста справа - налево for (int i = 130; i >= -360; i = i - 10) { screen.background(0, 0, 0); screen.stroke(0, 255, 0); screen.text("Hello, World!", i, 40); delay(5); } delay(1000); }
Пояснения к коду:
- для определения цвета экрана и текста используется палитра RGB;
- screen.setTextSize(); устанавливает размер текста. Размер 1 соответствует высоте шрифта в 10 пикселей, размер 2 — высоте в 20 пикселей и так далее.
Приведенный ниже пример программы для экрана TFT демонстрирует возможность рисования на экране различных геометрических фигур с помощью команд из библиотеки TFT.h. Функции этой библиотеки позволяют отображать фигуры с различными параметрами — цветом контура, заливкой и размером. Напомним, что 1,8 TFT ЖК-экран имеет 128 пикселей по горизонтали и 160 пикселей по вертикали.
Скетч для вывода анимации на экране TFT Arduino
#include "TFT.h" #include "SPI.h" #define cs 10 // пин для подключения CS #define dc 9 // пин для подключения A0 #define rst 8 // пин для подключения reset TFT screen = TFT(cs, dc, rst); void setup() { screen.begin(); // цвет экрана ( r , g , b ) screen.background(255, 255, 255); // цвет текста ( r , g , b ) screen.stroke(0, 0, 0); } void loop() { // рисуем круг с черным контуром screen.stroke(0, 0, 0); screen.noFill(); screen.circle(80, 60, 45); delay(500); // рисуем два круга с синей заливкой screen.fill(255, 0, 0); screen.circle(60, 50, 7); screen.circle(100, 50, 7); delay(500); // проводим две черные линии screen.fill(0, 0, 0); screen.line(56, 35, 70, 38); screen.line(90, 38, 104, 35); delay(500); // рисуем прямоугольник черного цвета screen.fill(0, 0, 0); screen.rect(78, 55, 4, 20); delay(500); // выводим точку с различными координатами screen.stroke(0, 0, 255); for (int i = 65; i <= 95; i++) { screen.point(i, 85); delay(30); } delay(500); // очистка экрана screen.background(255, 255, 255); delay(1000); }
Пояснения к коду:
- команда очистки экрана screen.background(); может быть использована в любом месте программы.
Библиотека TFT.h описание команд и функций
- screen.begin() — инициализация экрана.
- screen.background(red, green, blue) — стирает все на экране в указанный цвет. Функция используется для очистки экрана.
- screen.stroke(red, green, blue) — команда вызывается перед выводом текста или рисованием объекта на экране и задает цвет линий и границ вокруг фигур.
- screen.noStroke() — после вызова этой команды объекты не будут иметь цвета обводки.
- screen.fill(red, green, blue) — эта функция устанавливает цвет заливки для фигур.
- screen.noFill() — после вызова этой функции фигуры не будут иметь цвета заливки.
- screen.setTextSize(size) — устанавливает размер текста. Размер 1 соответствует высоте 10 пикселей, размер 2 — высоте 20 пикселей и так далее.
- screen.text(text, xPos, yPos) — выводит текст на tft-экран по указанным координатам.
- screen.point(xPos, yPos) — функция для отображения точки в заданных координатах.
- screen.line(xStart, yStart, xEnd, yEnd) — строит линию между двумя точками.
- screen.rect(xStart, yStart, width, height) — отображает на экране прямоугольник. В функции необходимо указать 4 аргумента, первые два аргумента — левый верхний угол фигуры, последние два параметра — ширина и высота прямоугольника.
- screen.circle(xPos, yPos, radius) — функция рисует на экране окружность с указанным в функции центром и заданным диаметром, который всегда будет нечетным числом.
- screen.image(image, xPos, yPos) — выводит изображение с SD-карты в указанное место на tft-экране.
Заключение. Как вы убедились, TFT-экран, связанный с платой Arduino, позволяет пользователю изменять цвет экрана и отображаемого текста, использовать различные графические элементы и выводить изображения с SD-карты. Эта функциональность будет рассмотрена в следующей статье. Если у вас остались вопросы по подключению 1,8″ TFT SPI 128×160 v1.1 к Arduino — оставляйте их в комментариях к этой статье.










Спасибо, всё чётко!
Спасибо, какой функцией библиотеки повернуть экран на 90/180 градусов?
Еще раз спасибо за ваш труд. Нашел ответ в примере другой библиотеки TFT_eSPI.h заменив tft.setRotation(3); на screen.setRotation(3);
А что конкретно за библиотека используется?
Библиотеки «TFT» и «SPI», они уже предварительно загружена в Arduino IDE
Как вывести на дисплей значения числовых переменных в данной библиотеке? (например BYTE или WORD?)