Библиотека TFT.h для Arduino: как вывести графику и текст на дисплей

Полное руководство по библиотеке TFT.h для Arduino

Tft Library Guide

1. Введение

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

Библиотека TFT.h предназначена для управления TFT-дисплеями через интерфейс SPI на платах Arduino. Она предоставляет удобный набор функций для работы с текстом, графикой и изображениями.


1. Подключение и подготовка к работе

Перед началом работы с библиотекой TFT.h подключите TFT-дисплей к Arduino. Типовая распиновка выглядит следующим образом:

Пин TFT дисплеяПин Arduino
VCC3.3V или 5V
GNDGND
CSD10
RESETD8
DCD9
SDI (MOSI)D11
SCKD13

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


Теги:

.

Author: admin

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

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