Полное руководство по библиотеке TFT.h для Arduino
Tft Library Guide
1. Введение
Библиотека TFT.h предназначена для упрощённого управления TFT-дисплеями с микроконтроллером Arduino. Она позволяет выводить текст, графические элементы и изображения на экране, что делает её отличным инструментом для визуализации данных и создания графических интерфейсов. В этой статье мы разберём основные возможности библиотеки и приведём примеры её использования.
Библиотека TFT.h предназначена для управления TFT-дисплеями через интерфейс SPI на платах Arduino. Она предоставляет удобный набор функций для работы с текстом, графикой и изображениями.
1. Подключение и подготовка к работе
Перед началом работы с библиотекой TFT.h подключите TFT-дисплей к Arduino. Типовая распиновка выглядит следующим образом:
Пин TFT дисплея | Пин Arduino |
---|---|
VCC | 3.3V или 5V |
GND | GND |
CS | D10 |
RESET | D8 |
DC | D9 |
SDI (MOSI) | D11 |
SCK | D13 |
3. Установка библиотеки TFT.h
Библиотека TFT.h включена в стандартный набор Arduino IDE, поэтому не требует дополнительной установки. Однако убедитесь, что ваша Arduino IDE обновлена до последней версии.
2. Основные функции библиотеки TFT.h
Ниже приведена таблица с описанием всех основных функций библиотеки TFT.h.
Функция | Описание |
---|---|
TFT(CS, DC, RESET) | Создаёт объект TFT. Указывает пины CS, DC и RESET для подключения дисплея. |
begin() | Инициализация дисплея и подготовка к работе. |
background(r, g, b) | Устанавливает цвет фона дисплея. r, g, b — значения от 0 до 255. |
stroke(r, g, b) | Устанавливает цвет линий и текста. r, g, b — значения от 0 до 255. |
text(string, x, y) | Выводит текстовую строку на экран по координатам (x, y). |
setTextSize(size) | Устанавливает размер текста (1, 2, 3 и т.д.). |
line(x0, y0, x1, y1) | Рисует линию от точки (x0, y0) до точки (x1, y1). |
rect(x, y, width, height) | Рисует прямоугольник с верхним левым углом в (x, y). |
fillRect(x, y, w, h) | Рисует заполненный прямоугольник. |
circle(x, y, radius) | Рисует окружность с центром в (x, y) и указанным радиусом. |
fillCircle(x, y, radius) | Рисует заполненную окружность. |
point(x, y) | Рисует точку в координатах (x, y). |
image("filename.bmp", x, y) | Загружает и отображает изображение (bmp) с SD-карты в точке (x, y). |
fillScreen(r, g, b) | Заполняет весь экран цветом, указанным в формате RGB. |
setRotation(rotation) | Устанавливает ориентацию экрана (0 — по умолчанию, 1 — поворот на 90° и т.д.). |
3. Примеры использования функций библиотеки
3.1 Инициализация и заливка фона
#include <TFT.h> #include <SPI.h> #define CS 10 // Пин CS (Chip Select) #define DC 9 // Пин DC (Data/Command) #define RESET 8 // Пин Reset TFT tft = TFT(CS, DC, RESET); void setup() { tft.begin(); tft.background(0, 0, 0); // Чёрный фон } void loop() { // Ничего не делаем в цикле }
3.2 Вывод текста на экран
void setup() { tft.begin(); tft.background(0, 0, 0); // Чёрный фон tft.stroke(255, 255, 255); // Белый цвет текста tft.setTextSize(2); // Размер текста tft.text("Hello, Arduino!", 10, 10); // Текст на экране }
3.3 Рисование фигур
void setup() { tft.begin(); tft.background(0, 0, 0); // Чёрный фон tft.stroke(255, 0, 0); // Красный цвет tft.line(10, 10, 100, 10); // Линия tft.stroke(0, 255, 0); // Зелёный цвет tft.rect(20, 20, 50, 30); // Прямоугольник tft.stroke(0, 0, 255); // Синий цвет tft.circle(50, 50, 20); // Круг }
d) Вывод изображений (битмап) Можно загружать простые растровые изображения (битмапы) с SD-карты. Для этого подключите SD-карту к дисплею и используйте следующую команду:
#include <SD.h> void setup() { tft.begin(); tft.background(0, 0, 0); if (!SD.begin(4)) { // Проверка SD-карты на пине 4 tft.text("SD Fail", 10, 10); return; } tft.image("image.bmp", 0, 0); // Загружаем изображение "image.bmp" в (0,0) }
3.4 Построение графика
void setup() { tft.begin(); tft.background(0, 0, 0); tft.stroke(255, 255, 255); // Белые оси // Рисуем координатные оси tft.line(10, 10, 10, 100); tft.line(10, 100, 100, 100); } void loop() { static int x = 10; int value = analogRead(A0); // Читаем данные с датчика int y = map(value, 0, 1023, 100, 10); tft.stroke(0, 255, 0); // Зелёный цвет для графика tft.point(x, y); x++; if (x > 100) x = 10; // Сброс графика delay(100); }
4. Заключение
Библиотека TFT.h предоставляет множество функций для управления TFT-дисплеями на Arduino. С её помощью можно отображать текст, рисовать фигуры, строить графики и загружать изображения. Благодаря простоте и удобству использования, эта библиотека отлично подходит для визуализации данных и создания графических интерфейсов.
Теги:
.