Дисплей 2,4' TFT LCD 240х320
Описание
Данный дисплей представляет из себя ЖК монитор с диагональю 2,4 дюйма. Основная задача дисплея - работа с простой графикой (рисование фигур, текста, линий), однако, также предусмотрен вывод на дисплей полноцветных фотографий и анимации. Данный дисплей выполнен в форм-факторе шилда для контроллеров линейки UNO, Mega, Leonardo, Due, что представляет дополнительное удобство в подключении.
На плате также расположен разъём для размещения SD-карт памяти, таким образом данный дисплей совмещает в себе три устройства - экран, шилд и модуль карт памяти. Помимо разъёма для карт памяти, на модуле присутствует кнопка. Кнопка может быть использована как дополнительный элемент управления для собственных устройств. При подключении к контроллеру напрямую (как подключение шилда) вывод кнопки подключается к контакту RESET, тем самым предоставляя доступ к одноименной кнопке ввиду перекрывания последней.
Технические характеристики
- Рабочее напряжение: 5 В
- Потребляемый ток: 300 мА
- Диагональ: 2,4'
- Разрешение: 240 х 320
- Тип карты памяти: microSD
- Максимальный объём карты памяти: 32 Гб
- Модель контроллера экрана: ILI9341 (8 бит)
Физические размеры
- Модуль с дисплеем и выводами (Д х Ш х В): 72 х 53 х 14 (мм)
Плюсы использования
- Удобство подключения к контроллерам в качестве шилда
- Наличие разъёма для подключения карт памяти
- Наличие кнопки как дополнительного элемента управления
Минусы использования
- Невозможность подключения к маленьким контроллерам напрямую
Библиотеки для работы с дисплеем
Пример подключения и использования
Пример: В примере иллюстрируются основные возможности по выводу информации на дисплей с использованием контроллера Smart UNO. Дисплей подключается к контроллеру в качестве шилда.
Для этого нам понадобится:
Что нужно: | Кол-во, шт |
---|---|
Контроллер | 1 |
Дисплей | 1 |
Пример кода:
#include <Adafruit_GFX.h> // Ядро графической библиотеки
#include <Adafruit_TFTLCD.h> // Специфика аппаратного обеспечения
#include <MCUFRIEND_kbv.h> // Специфика работы с разными чипами
// Ассоциируем шестнадцатиричные значения цветов в удобочитаемый вид
#define BLACK 0x0000 // черный
#define BLUE 0x001F // синий
#define RED 0xF800 // красный
#define GREEN 0x07E0 // зелёный
#define CYAN 0x07FF // голубой
#define MAGENTA 0xF81F // малиновый
#define YELLOW 0xFFE0 // жёлтый
#define WHITE 0xFFFF // белый
MCUFRIEND_kbv tft; //инициализация объекта дисплея
void setup(void) {
tft.reset(); //сброс дисплея
uint16_t identifier = tft.readID(); //чтение идентификатора чипа
tft.begin(identifier); //инициализация дисплея
}
void loop(void) {
for(uint8_t rotation=0; rotation<4; rotation++) { //попеременно установка поворота дисплея
tft.setRotation(rotation); //установить поворот
//Заливка дисплея цветами
tft.fillScreen(BLACK); //черным
tft.fillScreen(RED); //красным
tft.fillScreen(GREEN); //зелёным
tft.fillScreen(BLUE); //синим
tft.fillScreen(BLACK); //снова черным
//Написание текста
tft.setCursor(0, 0); //установить курсор в позицию 0,0 (левый верхний угол)
tft.setTextColor(WHITE); //установка цвета текста (белый)
tft.setTextSize(1); //установка размера текста
tft.println("Hello World!"); //вывести надпись
//Вывод числовых значений
tft.setTextColor(YELLOW); //установить цвет текста
tft.setTextSize(2); //установить размер текста
tft.println(1234.56); //вывести число
//Вывод шестнадцатиричного значения
tft.setTextColor(RED); //цвет текста (красный)
tft.setTextSize(3); //размер текста
tft.println(0x9876BEEF, HEX); //вывод значения
tft.println(); //вывод пустой строки
//Надписи разным шрифтом
tft.setTextColor(GREEN); //установка цвета текста
tft.setTextSize(5); //размер текста
tft.println("Display"); //надпись
tft.setTextSize(3); //размер текста
tft.println("SmartElements"); //надпись
tft.setTextColor(BLUE); //цвет текста
tft.setTextSize(3); //размер текста
tft.println("Visit our"); //надпись
tft.setTextColor(BLUE); //цвет текста
tft.setTextSize(2); //размер текста
tft.println("ofificial store:"); //надпись
tft.setTextColor(CYAN); //цвет текста
tft.setTextSize(2); //размер текста
tft.println("smartelements.ru"); //надпись
delay(5000); //задержка 5 секунд
//Начертить линию
tft.fillScreen(BLACK); //дисплей залить черным
// х1 у1 х2 у2 цвет
tft.drawLine(0, 0, 0, 100, GREEN); //нарисовать линию от точки 1 и точки 2, цвет
tft.drawLine(0, 100, 100, 100, RED); //нарисовать линию от точки 1 и точки 2, цвет
tft.drawLine(100, 100, 100, 0, BLUE); //нарисовать линию от точки 1 и точки 2, цвет
tft.drawLine(100, 0, 0, 0, MAGENTA); //нарисовать линию от точки 1 и точки 2, цвет
delay(5000); //задержка 5 секунд
//Быстрые линии (на всю длину или высоту)
tft.fillScreen(BLACK); //дисплей залить черным
//5 горизонтальных линий
int w = tft.width();
tft.drawFastHLine(0, 0, w, GREEN);
tft.drawFastHLine(0, 5, w, GREEN);
tft.drawFastHLine(0, 10, w, GREEN);
tft.drawFastHLine(0, 15, w, GREEN);
tft.drawFastHLine(0, 20, w, GREEN);
//5 вертикальных линий
int h = tft.height();
tft.drawFastVLine(0, 0, h, RED);
tft.drawFastVLine(5, 0, h, RED);
tft.drawFastVLine(10, 0, h, RED);
tft.drawFastVLine(15, 0, h, RED);
tft.drawFastVLine(20, 0, h, RED);
delay(5000); //задержка 5 секунд
//Рисование квадрата
tft.fillScreen(BLACK); //дисплей залить черным
tft.drawRect(0, 0, 100, 100, YELLOW); //пустой квадрат из точки (0, 0) со сторонами 100 пикселей
tft.fillRect(0, 120, 100, 200, CYAN); //заполненный прямоугольник из точки (0, 120) со сторонами по Х - 100, по У - 200
delay(5000); //задержка 5 секунд
//Рисование кругов
tft.fillScreen(BLACK); //дисплей залить черным
tft.fillCircle(100, 100, 50, BLUE); //залитый круг радиусом 50 пикселей из точки (100, 100)
tft.drawCircle(100, 100, 100, WHITE); //пустой круг радиусом 100 пикселей из точки (100, 100)
delay(5000); //задержка 5 секунд
//Рисование треугольников
tft.fillScreen(BLACK); //дисплей залить черным
tft.fillTriangle( //нарисовать заполненный треугольник
100 , 0, // верхняя точка
50, 100, // нижняя левая
150, 100, // нижняя правая
tft.color565(65, 122, 23)); //залить цветом по схеме RGB
tft.drawTriangle(
100, 0, // верхняя точка
0, 100, // нижняя левая
200, 100, // нижняя правая
tft.color565(0, 0, 255)); //залить цветом по схеме RGB
delay(5000); //задержка 5 секунд
}
}