Вывод JPEG-фото и RGB565-видео на 2.8″ TFT SPI дисплей с Arduino Nano
Компоненты и материалы
- Arduino Nano R3 — 1 шт.
- TFT SPI дисплей 2.8″ 320×240 (с тачскрином XPT2046) — 1 шт.
- microSD карта >1 ГБ (FAT32) — 1 шт.
- TFT Shield для Arduino Nano — 1 шт.
О проекте
Введение
Демонстрация воспроизведения JPEG-изображений и «сырого» RGB565-видео с SD-карты на TFT-экране под управлением Arduino Nano. Библиотека YATFT (форк Adafruit_GFX) обеспечивает аппаратное ускорение.
Подготовка SD-карты
- Форматируйте в FAT32.
- JPEG-фотографии кладите прямо на карту (желательно ≤2560×1920).
- Видео конвертируйте в RGB565 через ffmpeg:
ffmpeg -i video.avi -s 320x240 -pix_fmt rgb565 video.rgb
Библиотеки
- YATFT (дисплей)
XPT2046_Touchscreen(тач)SPI,util/yasdc.h(файловая система)
Основной скетч (PhotoAndVideoPlay.ino)
Скетч последовательно перебирает файлы на карте:
- JPEG — декодируется и выводится через
JPEGReadFromSD()(пауза 2 с). - RGB565 — потоковое воспроизведение через
RGBReadFromSD()с тач-управлением (Стоп/Пауза/Плей).
Тач-зона снизу экрана: левая треть — Стоп, центр — Пауза (рисуются кнопки), правая — Плей.
// Ключевые настройки
#define CS_PIN A0
YATFT tft(0);
SDC sdc;
XPT2046_Touchscreen ts(CS_PIN);
void setup() {
Serial.begin(115200);
tft.begin(0x4391, -8);
tft.SetColor(BLACK); tft.ClearDevice();
ts.begin();
SPI.end(); // освобождаем SPI для SD
sdc.FSInit();
sdc.currentFileType = DEMO_FILE_TYPE_RGB;
}
void loop() {
if (millis() > total_time) {
total_time = millis() + 2000;
if (f_first) { sdc.FindFirst("*.*", ATTR_ARCHIVE, &sdc.nextFile); f_first = false; }
else {
if (sdc.GetFileType(...) == DEMO_FILE_TYPE_JPEG) { /* показ фото */ }
else if (sdc.GetFileType(...) == DEMO_FILE_TYPE_RGB) { /* воспроизведение видео */ }
if (sdc.FindNext(&sdc.nextFile) == -1) f_first = true;
}
}
}
Особенности
- Переключение цветовых режимов (YUV для JPEG, RGB для видео) — мигание зелёным при смене.
- Тач-контроллер опрашивается во время воспроизведения видео (функция
ScanTouch()). - Проект — продолжение серии статей про TFT Shield для Nano/Uno.
Обновлённая библиотека с поддержкой новых плат: EkaTFT.
Производственный процесс
- Трансформация производства с мобильностью: решения для данных, голоса, видео и локации
- Новый конвертер HDMI-APIX3 усиливает тестирование автомобильного видео и ADAS
- DATA MODUL запускает 23,1″ ультратонкий TFT-дисплей с умным Wi-Fi-управлением
- Чтение аналоговых датчиков с Raspberry Pi и Zabbix: пошаговое руководство
- Установка дисплея Kuman 3.5″ TFT на RetroPie — Пошаговое руководство
- K 2019 демонстрирует передовую перерабатывающую технику и инновации в устойчивой упаковке
- Понимание обозначений DN и PN на фланцах: полное руководство
- Голографический световое поле 3D-дисплей: четкое, без искажений зрение для AR
- Профессиональное руководство по анимации битмапов на TFT-экране ILI9341 2.4" с Visuino
- Мастерство отделки литья под давлением: стандарты SPI и VDI