Дисплей 3,5' TFT LCD 320х480
Описание
Данный дисплей представляет из себя ЖК монитор с диагональю 3,5 дюйма. Основная задача дисплея - работа с простой графикой (рисование фигур, текста, линий), однако, также предусмотрен вывод на дисплей полноцветных фотографий и анимации. Данный дисплей выполнен в форм-факторе шилда для контроллеров линеек UNO, Mega, Leonardo, Due, что представляет дополнительное удобство в подключении.
На плате также расположен разъём для размещения SD-карт памяти, таким образом данный дисплей совмещает в себе три устройства - экран, шилд и модуль карт памяти.
Технические характеристики
- Рабочее напряжение: 5 В
- Потребляемый ток: 300 мА
- Диагональ: 3,5'
- Разрешение: 320 х 480
- Тип карты памяти: microSD
- Максимальный объём карты памяти: 32 Гб
Физические размеры
- Модуль с дисплеем и выводами (Д х Ш х В): 86 х 56 х 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); //инициализация дисплея tft.invertDisplay(true); //установка чёрной подсветки } 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 секунд } }