Arduino uno подключение цветного дисплея

Содержание

Цветной TFT-дисплей 128×160 / 1,8”

Цветной TFT-экран пригодится для вывода яркого текста, информативных графиков и живых анимаций.

Подключение и настройка

Дисплей общается с управляющей платформой через последовательную шину SPI c дополнительными пинами управления. В микроконтроллерах есть два способа реализации шины SPI: аппаратная и программная.

При использовании аппаратного интерфейса, скорость отрисовки экрана будет значительно выше в сравнении с программной.

Аппаратный SPI

На платах Arduino шина «SPI» разведена на ICSP-разъёме. В качестве примера подключим дисплей к платформе Arduino Uno через макетную плату.

Программный SPI

Если контакты аппаратного интерфейса SPI используются другими модулями — воспользуйтесь программной реализацией протокола SPI. Софтовая эмуляция шины позволяет использовать сигналы данных на всех пинах управляющей платы. В качестве примера подключим дисплей к платформе Arduino Uno через макетную плату.

Элементы платы

Экран

Дисплей модуля выполнен по технологии TFT с диагональю 1,8 дюйма. Разрешение экрана составляет 128×160 точек с глубиной 65536 цветов.

Матрица экрана подключена к встроенному чипу ST7735, который выполняет роль моста между экраном и микроконтроллером.

Систему координат дисплея удобно представить в виде сетки, каждая ячейка которой является отдельным пикселем. Местоположение пикселя задается парой координат «x» и «y».

Контактные пины

На плате дисплейного модуля расположена гребёнка из восьми контактов для питания экрана и взаимодействия с управляющей электроникой.

Вывод Имя сигнала Альтернативное имя сигнала Описание
1 VIN Питание дисплея напряжением 5 вольт
2 GND Земля
3 RST RESET Аппаратный сброс дисплея. Активный низкий уровень.
4 RS DC/A0 Выбор передачи данных или команд:
команда при низком уровне, данные при высоком уровне.
5 SDA MOSI/DO Данные
6 SCL SCK Синхронизация
7 CS SS Выбор экрана. Используется для подключения нескольких дисплеев параллельно. Активный низкий уровень.
8 VDD33 Напряжение питания 3,3 В. Подключать не обязательно.

Логический буфер

На обратной стороне дисплейного модуля распаян преобразователь логических уровней 74HC365. Буфер служит для согласования напряжения между экраном и управляющей платой. Микросхема даёт совместимость дисплея c 3,3- и 5-вольтовыми управляющими платами.

Регулятор напряжения

Понижающий линейный преобразователь LM1117 с выходом 3,3 вольта обеспечивает питание и подсветку дисплея. Максимальный выходной ток составляет 800 мА.

Источник

Цветной графический TFT-экран 240×320

Используйте цветной графический TFT-дисплей для отображения текста и графических элементов: иконок, картинок, графиков, кадров анимации.

Видеообзор

Подключение и настройка

Внимание! Дисплей работает от источника питания 5 вольт, а работа логики — 3,3 вольта. Если вы используете Arduino c 5-вольтовой логикой, то подключайте управляющие пины дисплея к Arduino через резистивные делители. В противном случае TFT-экран может выйти из строя. Для плат с 3,3 вольтовой логикой резистивные делители не нужны.

В качестве примера возьмём управляющую платформу Arduino Uno. Общение с TFT-экраном происходит через шину SPI. Подключаем управляющие пины к Arduino через делители напряжения, чтобы не повредить дисплей. Руководствуйтесь схемой ниже: Для облегчения работы с TFT-экраном используйте библиотеку UTFT, которая включает в себя разнообразные готовые примеры. Библиотека подходит как для работы с контроллерами, основанными на AVR-платформе, так и с контроллерами на ARM-платформе.

Работа с дисплеем

Вывод текста

Прошейте Arduino скетчем приведённым ниже. В результате на экране вы должны увидеть надпись «HelloWorld».

Метод InitLCD – инициализирует дисплей и задает горизонтальную или вертикальную ориентацию. В качестве параметра указывается идентификатор ориентации. Будучи заданной без параметров команда устанавливает горизонтальную ориентацию. Если указать параметр PORTRAIT или 0 – будет выбрана вертикальная ориентация, если указать LANDSCAPE или 1 – горизонтальная.

Метод clrScr – очищает дисплей, стирая всю отображаемую на дисплее информацию и заливает его черным цветом. Параметров не имеет.

Метод print – выводит на дисплей текст, содержимое символьной переменной или объекта типа String. В качестве параметров передаются выводимый текст, координаты верхнего левого угла области печати. Эта команда предназначена для вывода текстовой информации. Координаты печати X и Y задаются в пикселях и могут быть переданы как явно, так и через целочисленные переменные или выражения. Существуют также три предопределенных идентификатора, предназначенные для использования в качестве координаты X :

Встроенные шрифты

Библиотека UTFT позволяет работать с подгружаемыми шрифтами. Шрифты хранятся в виде массивов данных, которые размещаются в отдельных файлах и подключаются к тексту программы. Исходная библиотека включает 3 шрифта.

Выводим текст с разными шрифтами и изменяем их ориентацию на дисплее:

Система кодирования цветов

У каждого метода, отвечающего за цветность, есть три параметра: R, G, B. Допустимые значения для параметров – от 0 до 255. Задавайте уровень каждого цвета вручную или используйте готовые идентификаторы:

Идентификатор цвета Цвет
VGA_SILVER серебряный
VGA_GRAY серый
VGA_WHITE белый
VGA_MAROON красно-коричневый
VGA_RED красный
VGA_PURPLE пурпурный
VGA_FUCHSIA фуксия
VGA_GREEN зеленый
VGA_LIME лайм
VGA_NAVY темно-синий
VGA_BLUE синий
VGA_TEAL сине-зеленый
VGA_AQUA морская волна

Добавим красок в строку «HelloWorld» и выведем несколько цветовых вариантов.

Поворот строки

Опциональный параметр метода print позволяет печатать строки под углом от 0 до 359 градусов. Вращение задается относительно координат печати (левый верхний угол). Нулевое значение угла приводит к горизонтальной печати, далее, по мере увеличения угла, происходит вращение текста по часовой стрелке на заданный угол. Приведенный ниже пример позволяет получить необычный графический эффект:

Методы печати не определяют выход за пределы дисплея. Так что за максимальной длиной строки придется следить самостоятельно. Если строка окажется слишком длинной, её «хвост» будет выводится поверх уже напечатанного текста.

Вывод геометрических фигур

Программно вывод геометрических фигур реализован через методы библиотеки UTFT , которые используют попиксельный вывод, массив 240×320 точек.

Метод Описание Параметры
drawPixel(x, y) Вывод пикселя x, y координата пикселя
drawLine(x1, y1 ,x2 ,y2) Вывод линии x1, y1 и x2, y2 координаты начальной и конечной точки линии
drawRect(x1, y1 ,x2 ,y2) Вывод прямоугольника x1, y1 и x2, y2 координаты двух противоположных углов
drawFillRect(x1, y1 ,x2 ,y2) Вывод закрашенного прямоугольника x1, y1 и x2, y2 координаты двух противоположных углов
drawCircle(x, y, r) Вывод окружности x, y координаты центра окружности, r радиус
drawfillCircle(x, y, r) Вывод закрашенной окружности x, y координаты центра окружности, r радиус

Выведем их на экран.

Мы рассмотрели команды рисования графических примитивов. Кстати, для библиотеки UTFT существует дополнение UTFT_Geometry, которое позволяет выводить на дисплей треугольники (контурные и заполненные), дуги окружностей и сектора кругов.

Вывод изображений

Метод drawBitmap позволяет выводить на дисплей специально подготовленное растровое изображение. В качестве параметров задаются координаты верхнего левого угла изображения, его размеры и имя массива, в котором хранится закодированное изображение. Опциональный параметр scale позволяет управлять масштабированием изображения при выводе на дисплей.

Подготовим изображение для вывода на дисплей. Нам понадобиться графический редактор GIMP и утилита ImageConverter565 , которая поставляется вместе с библиотекой и располагается в папке Tools.

В результате работы конвертера вы получите файл с расширением «.c», в котором будет храниться информация о картинке и закодированное изображение. Поместите этот файл в папку Вашего проекта и объявите в программе массив при помощи спецификатора extern так же, как мы это делали для шрифтов. Только в квадратных скобках обязательно нужно указать размер массива в 16-ричном формате. Это значение находится в первом элементе массива, его можно посмотреть открыв полученный в результате конвертирования файл в любом текстовом редакторе. Не забудьте после копирования и подключения массива закрыть и снова открыть файл программы. При этом файл массива откроется на соседней вкладке рядом с текстом программы.

Источник

Цветной графический дисплей 2.8 TFT 320×240

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

Цветной графический дисплей 2.8 и цветной графический дисплей 2.8 с TouchScreen — дисплеи, разработанные нашей компанией специально для работы с Arduino UNO / MEGA.

Благодаря поддержке огромного количества цветов (более 260 тысяч), а так же библиотекам UTFT и TouchScreen, вы сможете выводить на дисплеи разноцветные фигуры, анимацию, а так же текст (цвет и форму которого вы тоже сможете выбрать).

Дисплеи оснащены преобразователем уровней, благодаря чему вы можете подключать их как к 3В, так и к 5В логике!

Данные дисплеи поддерживают возможность регулировки яркости подсветки, а конструкция их такова, что они удобно устанавливаются в ПВХ-конструктор даже без дополнительной фиксации. Впрочем, если вам понадобится дополнительная жёсткость, то для этого на дисплеях имеется 4 крепёжных петли.

Видео:

Спецификация:

Дисплей без сенсорной панели

  • Разрешение: 320×240 точек;
  • Цветопередача: 262 тысячи цветов;
  • Диагональ: 2.8 дюйма;
  • Интерфейс подключения: SPI;
  • Крепёжные отверстия: М3;
  • Размер: 75мм х 65мм;

Дисплей с сенсорной панелью

  • Разрешение: 320×240 точек;
  • Цветопередача: 262 тысячи цветов;
  • Диагональ: 2.8 дюйма;
  • Тип сенсора:резистивный;
  • Интерфейс подключения: SPI;
  • Крепёжные отверстия: 3мм;
  • Размер: 75мм х 65мм;

Подключение:

Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.

Выводы дисплея без сенсорной панели Выводы Arduino
GND (обязательно) GND
VCC (обязательно) 5V
D/C (обязательно) Любой вывод
RST (обязательно) Любой вывод
CS (обязательно) Любой вывод
SCK (обязательно) Любой вывод
MOSI (обязательно) Любой вывод
LED (регулировка яркости, опционально) Любой вывод
MISO (опционально) Любой вывод
Выводы дисплея с сенсорной панелью Выводы Arduino
GND (обязательно) GND
VCC (обязательно) 5V
D/C (обязательно) Любой вывод
RST (обязательно) Любой вывод
CS (обязательно) Любой вывод
SCK (обязательно) Любой вывод
MOSI (обязательно) Любой вывод
LED (регулировка яркости, опционально) Любой вывод
MISO (опционально) Любой вывод
YU (Y+) (обязательно) Любой аналоговый вывод
XR (X-) (обязательно) Любой аналоговый вывод
YD (Y-) (обязательно) Любой вывод
XL (X+) (обязательно) Любой вывод

Далее, в примерах подключения и в примерах скетчей будет выполнено подключение согласно следующей таблиц:

Выводы дисплея Выводы Arduino
GND GND
VCC 5V
D/C 4
RST 5
CS 6
SCK 7
MOSI 8
LED 9
MISO 10 (кроме примера с SD картой)
YU (Y+) А0
XR (X-) А1
YD (Y-) А2
XL (X+) А3

Модуль удобно подключать 3 способами, в зависимости от ситуации:

Способ — 1 : Используя проводной шлейф и Piranha UNO

Используя провода «Папа — Мама», подключаем напрямую к контроллеру Piranha UNO

Дисплей без сенсорной панели

Дисплей с сенсорной панелью

Способ — 2 : Используя проводной шлейф и Shield

Дисплей без сенсорной панели

Дисплей с сенсорной панелью

Способ — 3 : Используя проводной шлейф и Arduino Mega

Используя провода «Папа — Мама», подключаем напрямую к контроллеру Arduino MEGA

Дисплей без сенсорной панели

Дисплей с сенсорной панелью

Питание:

Данный дисплей питается от постоянного источника напряжения 5В.

Библиотеки для работы с дисплеями:

Для работы с дисплеями существует несколько библиотек, каждая из которых может вам пригодится в разных проектах. Опишем кратко каждую из них:

  • Библиотека UTFT для работы с цветными графическими дисплеями (описание функций и примеры смотрите тут)
  • Библиотека TouchScreen для работы с сенсорными экранами (описание функций и примеры смотрите тут)

Форм-фактор:

Данный дисплей выпущен в нашем новом формате, который был специально спроектирован с учётом размеров и расположения отверстий в ПВХ-конструкторе, благодаря чему дисплей легко и удобно в нём закрепить.

Помимо этого, мы разработали специально для данных дисплеев крепёжную пластину, которая так же подходит к нашим ПВХ-корпусам Set Box и Set Box XL.

Подробнее о дисплее:

На нашей Wiki имеются статьи, в которых мы очень подробно разобрали все особенности работы с дисплеями того или иного типа. Ниже вы найдёте ссылки на эти статьи:

  • Информацию о том, как работать с графическим дисплеем вы найдёте тут.
  • Информацию о том, как работать с графическим дисплеем с touchscreen вы найдёте тут.

Координатная сетка

Начало координатной сетки лежит в верхнем левом углу как показано на рисунках ниже.

Примеры:

Вывод текста на дисплей

Вывод фигур на дисплей

Вывод изображения часов на дисплей

Создание программы для рисования, которая использует TouchScreen

Регулировка яркости подсветки:

Как подключить

Вывод LED подключается к любому выводу ARDUINO, который поддерживает ШИМ (выводы со знаком «

» тильды на шелкографии платы). Яркость регулируется изменением процента заполнения ШИМ. Например, вызов analogWrite(dispLED, 128) установит половину яркости.

Пример работы подсветки дисплея (при использовании датчика освещённости)

Работа с SD-картами:

Используя в связке с дисплеем модуль SD-карт, вы можете выводить анимацию и изображения, которые физически не могут быть размещены в памяти микроконтроллера.

Как подключить

Используя провода «Папа — Мама», подключаем напрямую к контроллеру Piranha UNO

В данном примере Адаптер карт microSD подключается к Piranha UNO следующим образом:

Выводы Адаптера Выводы Arduino
INS
MISO 12
GND GND
VCC 5V
MOSI 11
SCK 13
SS(CS) 10

Дисплей без сенсорной панели

Дисплей с сенсорной панелью

Источник

Adblock
detector