Библиотека TFT

Библиотека TFT включена в среду разработки Arduino IDE, начиная с версии 1.0.5.

Данная библиотека позволяет Ардуино взаимодейстовать с модулем, содержащим TFT LCD-экран. Функции библиотеки значительно упрощают процесс вывода на экран различных фигур, линий, изображений и текста.

Библиотека Arduino TFT разработана на основе библиотек Adafruit GFX и Adafruit ST7735, и значительно расширяет их возможности. Библиотека GFX в основном содержит процедуры отрисовки графики, в том время, как ST7735 - функции для взаимодействия с TFT-экраном. Все дополнения библиотеки, касающиеся Ардуино, спроектированы таким образом, чтобы обеспечивать API-режим работы с экраном.

Помимо самого экрана, на плате TFT-модуля расположен разъем для подключения SD-карты памяти, взаимодействовать с которым можно посредством библиотеки SD.

Многие методы библиотеки TFT, работающие с экраном и SD-картой памяти, опираются на функции библиотеки SPI. Поэтому, для нормальной работы программ, взаимодействующих с TFT-экраном, треубется объявление модуля SPI.h.

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

Организовать работу с TFT-экраном можно двумя способами. Первый способ - использовать аппаратную шину SPI Ардуино, второй - вручную объявить расположение необходимых выводов. С точки зрения функциональности экрана, нет никакой разницы между первым и вторым способом. Однако скорость работы аппаратного интерфейса SPI значительно выше.

Если на TFT-модуле планируется использование SD-карты памяти, то взаимодействовать с модулем необходимо только через аппаратный интерфейс SPI. Он используется во всех примерах к данной библиотеке.

На Arduino Uno при использовании аппаратного SPI в программе необходимо объявить номера выводов CS, DC и RESET. Выводы MOSI (11) и SCLK (13) заданы по умолчанию.

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

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

 

Для использования аппаратного SPI на Arduino Leonardo, необходимо объявить эти выводы следующим образом:

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

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

 

Для работы с TFT-экраном через программный интерфейс SPI можно использовать любые не занятые выводы. В этом случае, помимо CD, 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-экрана, поэтому выводы, взаимодействующе с ним, заданы аппаратно и не подлежат изменению. В этом случае для работы с экраном необходимо использовать специальный класс EsploraTFT.

Сходство с языком Processing

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

Примеры

Все примеры работы с TFT-экраном можно условно разбить на две группы: программы для Arduino Esplora и программы для остальных плат, подобных Arduino Uno или Leonardo. Переносить код с одного устройства на другое довольно просто, имея под рукой описание библиотеки и ее функций.

Esplora

  • Esplora TFT Bitmap Logo: считывание графического файла с карты памяти micro-SD и вывод его содержимого в произвольной области экрана.
  • Esplora TFT Color Picker: использование джойстика и слайдера для изменения цвета TFT-экрана.
  • Esplora TFT Etch a Sketch: реализация классической игры "Etch-a-Sketch" для Esplora.
  • Esplora TFT Graph: вывод показаний датчика света на TFT-экран в виде графика.
  • Esplora TFT Horizon: рисование линии искуственного горизонта по показаниям акселерометра.
  • Esplora TFT Pong: простая версия классической игры.
  • Esplora TFT Temperature: считывание температуры со встроенного датчика и вывод ее на экран.

 

Arduino

  • TFT Bitmap Logo: считывание графичекого файла с карты памяти micro-SD и вывод его содержимого в произвольной области экрана.
  • TFT Display Text : считывание показаний датчика и вывод их на экран.
  • TFT Pong: реализация одноименной классической игры для Arduino
  • Etch a Sketch: реализация классической игры "Etch-a-Sketch" для Ардуино.
  • Color Picker: изменение цвета TFT-экрана с помощью трех датчиков.
  • Graph: вывод сопротивления переменного резистора на TFT-экран в виде графика.

 

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

TFT