Arduino:Библиотеки/TFT

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Библиотека TFT[1]

Библиотека TFT идет в комплекте с IDE Arduino 1.0.5 и выше. Она позволяет плате Arduino коммуницировать с TFT-экраном Arduino, а также упрощает процесс рисования фигур, линий, изображений и текста.

Библиотека TFT основана на библиотеках Adafruit GFX и Adafruit ST7735. Первая отвечает за рисовательные функции, а вторая – за функции, характерные для TFT-экрана Arduino. Дополнения, внесенные в библиотеку TFT, объединяют две эти библиотеки, а также делают ее работу максимально похожей на Processing API.

TFT-экран имеет SD-слот, работа с которым осуществляется через библиотеку SD. Кроме того, в начале скетча нужно подключать [[Arduino:Библиотеки/SPI|библиотеку SPI] ]– она нужна, чтобы библиотека TFT могла коммуницировать с экраном и SD-картой.

Использование библиотеки

Экран можно настроить двумя способами. Первый – через аппаратный SPI-интерфейс Arduino, а второй – через ручное объявление всех контактов. Между этими методами, по сути, нет функциональной разницы, но с тем исключением, что с аппаратным SPI-интерфейсом получается гораздо быстрее.

Кроме того, если вы планируете использовать не только сам TFT-экран, но и SD-карту в нем, то вам следует использовать аппаратный SPI. Все примеры в этой библиотеке написаны именно с расчетом на него.

Если вы используете аппаратный SPI с Uno, вам нужно объявить лишь контакты CS, DC и RESET, т.к. MOSI (11-ый контакт) и SCLK (13-ый контакт) уже объявлены.

#define CS   10
#define DC   9
#define RESET  8 

TFT myScreen = TFT(CS, DC, RESET);

При использовании аппаратного SPI с Leonardo контакты нужно объявлять следующим образом:

#define CS   7
#define DC   0
#define RESET  1

TFT myScreen = TFT(CS, DC, RESET);

Если вы решили не использовать аппаратный SPI, то в вашем распоряжении любые доступные контакты, однако вдобавок к CS, DC и RESET вам придется также объявлять MOSI и SCLK.

#define SCLK 4
#define MOSI 5
#define CS   6
#define DC   7
#define RESET 8 

TFT myScreen = TFT(CS, DC, MOSI, SCLK, RESET);

Использование библиотеки TFT с Arduino Esplora

Поскольку на Arduino Esplora уже есть сокет, предназначенный для TFT-экрана, контакты для него – фиксированные. Следовательно, при написании скетчей для этой платы нужно лишь создать объект Esplora. Обращение к экрану Esplora осуществляется через объект EsploraTFT.

Сходство с Processing

Processing – это среда разработки с открытым кодом, используемая, как правило, дизайнерами, художниками и студентами. Главным средством вывода информации Processing является графическое окно либо на компьютере, либо в браузере. Библиотека TFT делает функции для рисования примитивов и текста максимально похожими на Processing – чтобы переход между двумя этими средами был как можно плавнее.

Примеры

Arduino

  • TFT Bitmap Logo – Считываем с карты micro-SD файл-картинку, а затем отображаем ее в случайных местах экрана.
  • TFT Display Text – Считываем значение датчика, а затем выводим его на экран.
  • TFT Pong – Упрощенная вариация на тему игры Pong.
  • TFT Etch a SketchArduino-вариация классической игрушки «Волшебный экран».
  • TFT Color Picker – Изменение фонового цвета TFT-экрана при помощи трех датчиков.
  • TFT Graph – Графическое отображение на TFT-экране значений от переменного резистора.

Esplora

  • Esplora TFT Bitmap Logo – Считываем файл-картинку с карты micro-SD, а затем показываем ее в случайных местах экрана.
  • Esplora TFT Color Picker – При помощи джойстика и слайдера меняем фоновый цвет TFT-экрана.
  • Esplora TFT Etch a SketchEsplora-вариация на тему классической игрушки «Волшебный экран».
  • Esplora TFT Graph – Графическое отображение на TFT-экране значений от светового датчика.
  • Esplora TFT Horizon – Отображение на TFT-экране «линии горизонта», чье положение зависит от наклона акселерометра.
  • Esplora TFT Pong – Упрощенная вариация на тему игры Pong.
  • Esplora TFT Temperature – Проверка температуры при помощи встроенного сенсора, а затем ее отображение на TFT-экране.

Функции

См.также

Внешние ссылки