Эта страница только для чтения. Вы можете посмотреть исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Дисплей 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 (мм) ==== Плюсы использования ==== * Удобство подключения к контроллерам в качестве шилда * Наличие разъёма для подключения карт памяти * Наличие кнопки как дополнительного элемента управления ==== Минусы использования ==== * Невозможность подключения к маленьким контроллерам напрямую ==== Библиотеки для работы с дисплеем ==== * [[https://files.smartelements.ru/know_libs/Adafruit_GFX.zip|Скачать Графическое ядро]] * [[https://files.smartelements.ru/know_libs/MCUFRIEND_kbv_master.zip|Скачать библиотеку для работы с дисплеем]] ===== Пример подключения и использования ===== **Пример:** В примере иллюстрируются основные возможности по выводу информации на дисплей с использованием контроллера Smart UNO. Дисплей подключается к контроллеру в качестве шилда. **Для этого нам понадобится:** ^ Что нужно: ^ Кол-во, шт ^ | [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер ]] | 1 | | [[https://smartelements.ru/collection/displei-i-indikatory/product/tft-lcd-24-shild-dlya-arduino|Дисплей]] | 1 | **Пример кода:** <file Arduino> #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 секунд } } </file>