Подключение TFT-дисплея 1.8 к Arduino

13

В этой статье, расскажу как подключить TFT дисплеи с диагональю 1.8 дюйма к плате Arduino. А так же, расскажу как выводить текст, рисовать разные фигуры и отображать изображения.

Подключение TFT-дисплея 1.8 к Arduino

Технические параметры

► Напряжение питания: 3.3 В – 5 В
► Диагональ: 1.8 дюйма
► Разрешение: 128×160 пикселей
► Цветность: 65 тысяч цветов в формате RGB
► Интерфейс: SPI
► Габариты: 35 мм х 57 мм х 7 мм

Общие сведения

TFT дисплей цветной с диагональю 1.8 дюйма и расширением 128 на 160 точек, за обработку данный отвечает контроллер ST7735R, который может отобразить до 18-бит цвета (262144 оттенков), работает данный контроллер (дисплей) от 3.3В и для работы от плат arduino предусмотрен стабилизатор напряжения на 3.3В, но если необходимо работать от 3.3В просто замыкаем перемычку (как показывает опыт, модуль может работать и от 5В логики). Так-же, на модуле установлен держатель карты SD для хранения и загрузки изображения на TFT дисплей. Подключение осуществляется по SPI интерфейсу (4-х проводному), все выводы выведены на боковую группу контактов, на другой стороне платы, выведены вывода SD карты.

Подключение TFT-дисплея 1.8 к Arduino

Группа контактов 1
LED — управление подсветкой, напряжение не более 3.3 В
SCK — линия синхронизации
SDA — линия данных (Serial Data)
► A0
RESET — сброс
CS — выбор устройства
GND — «-» питание модуля
VCC — «+» питание модуля

Группа контактов 2
SD_CS — выбор устройства
SD_MOSI — прием данных
SD_MISO — передача данных
SD_SCK —  линия синхронизации

Подключение TFT дисплея к Arduino

Необходимые детали:
► Цветной TFT-дисплей 1.8, 128×160, SPI x 1 шт.
► Arduino UNO R3 (DCCduino, CH340G) x 1 шт.
► Провод DuPont 10x, 2,54 мм, 20 см, F-F (Female — Female) x 1 шт.

Подключение:
В данном примере используем дисплей TFT и плату Arduino UNO R3, передача данный осуществляется по интерфейсу SPI. Так как контроллер дисплея ST7735R работает на 3.3В (включая логику), необходимо добавить пять резистор в цепь SPI на 1 кОм и один на 150 Ом для защиты светодиодов в подсветки. Но все подключают без резисторов и контроллер не сгорает. Собираем схему по рисунку ниже, так же для удобства выложил таблицу подключения.

Подключение TFT-дисплея 1.8 к Arduino

Таблица подключения TFT дисплея

Подключение TFT-дисплея 1.8 к Arduino

Как говорил выше, дисплей работает по интерфейсу SPI, поэтому необходимо включить в проект библиотеку SPI, а так же библиотеку TFT, все они входят в стандартные библиотеки среды разработки IDE Arduino.

  Скачать скетч

Так же, в библиотеке доступны полезные функции, которые позволяют отобразить фигуры
► TFTscreen. point (x, y) — отображает точку в координате (x, y)
 TFTscreen. line (xStart, yStart, xEnd, yEnd) — рисует строку , начинающуюся с (xStart, yStart) и заканчивается на (xEnd, yEnd)
► TFTscreen. rect (xStart, yStart, width, height) — рисует прямоугольник с верхним левым углом (xStart, yStart) с заданной шириной и высотой
► TFTscreen .circle (x, y, radius) — рисует круг с центром в точке (x, y) с заданным радиусом

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Цветной TFT-дисплей 1.8, 128×160, SPI

Купить в Самаре и области
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Цветной TFT-дисплей 1.8, 128×160, SPI

13 комментариев для “Подключение TFT-дисплея 1.8 к Arduino

  1. Монтажная схема не верна. Верхний контакт платы дисплея на монтаже — это VCC. Посмотрите внимательно распиновку платы дисплея!

  2. У кого как, у моего дисплея сначало земля, потом питание, и все остальное…

  3. Всем кто пытается подключить на MEGA или MEGA2560 — 11 и 13 пины перенесены на 51 и 52 соотв

    1. Да, полная глупость эти резисторы по 1 кОм. Что они делают? Ограничивают ток? Если речь про согласование ТТЛ и 3,3 В логики — используется делитель напряжения, а не последовательное включение. Ограничение тока подсветки мне кажется перестраховкой, хотя вдруг она окажется слишком прожорливой для GPIO Arduino и будет кушать больше 40 мА — так что сойдёт. Но можно было этот ток измерить, раз уж модуль в руках автора и по результату сделать вывод. А довод «все так делают и всё ОК» — может и не сработать.

    2. Вопрос в том, как долго и счастливо он будет так работать? Существуют точно такие же дисплеи с установленым конвертором TTL уровней по типу 74HC245D, вот они специально заточены под 5В. Наверное их делают зря.

    1. Была такая же проблема меге. Оказалось, dc на 9 пине обязательно. Ну и 51 и 52 вместо 11 и 13 (если мега, опять же)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *