Вывод изображений на 1.17-дюймовый TFT LCD с Arduino UNO
Компоненты и материалы
| Arduino UNO | 1 |
| TFT-экран 1.17 дюйма | 1 |
| SD-карта | 1 |
Приложения и сервисы
- Arduino IDE
О проекте
В этой статье я покажу, как вывести изображение на TFT-экран с Arduino!
Читайте урок ниже или смотрите видео на YouTube.
Схема подключения
- 5V (LCD) → 5V Arduino
- MISO (LCD) → Pin 12 Arduino
- SCK (LCD) → Pin 13 Arduino
- MOSI (LCD) → Pin 11 Arduino
- LCD CS (LCD) → Pin 10 Arduino
- SD CS (LCD) → Pin 4 Arduino
- D/C (LCD) → Pin 9 Arduino
- RESET (LCD) → Pin 8 Arduino
- BL (LCD) → 5V Arduino
- GND (LCD) → GND Arduino
Подготовка изображения на SD-карте
Важно:
- Изображение должно быть в формате .bmp
- Размер не более 160 x 128 пикселей
- Имя файла строго arduino.bmp в корне SD-карты!
- Arduino и TFT должны быть обесточены при вставке SD-карты
Код для Arduino
Скопируйте код ниже и загрузите в Arduino.
Результат
Откройте монитор порта в Arduino IDE. Ваше .bmp-изображение теперь отображается на TFT-экране. Или посмотрите видео с результатом.
Код
// CreaTechWeb: Displaying an image on a TFT screen with arduino // https://createchweb.com/displaying-an-image-on-a-tft-screen-with-arduino/ #include#include #include // Arduino LCD library // Пины для Uno #define sd_cs 4 #define lcd_cs 10 #define dc 9 #define rst 8 // Пины для Leonardo (закомментированы) //#define sd_cs 8 //#define lcd_cs 7 //#define dc 0 //#define rst 1 TFT TFTscreen = TFT(lcd_cs, dc, rst); PImage logo; void setup() { TFTscreen.begin(); TFTscreen.background(255, 255, 255); TFTscreen.stroke(0, 0, 255); TFTscreen.println(); TFTscreen.println(F("Arduino TFT Bitmap Example")); TFTscreen.stroke(0, 0, 0); TFTscreen.println(F("Open serial monitor")); TFTscreen.println(F("to run the sketch")); Serial.begin(9600); while (!Serial) { } // ждем подключения Serial (для нативного USB) TFTscreen.background(255, 255, 255); Serial.print(F("Initializing SD card...")); if (!SD.begin(sd_cs)) { Serial.println(F("failed!")); return; } Serial.println(F("OK!")); TFTscreen.begin(); TFTscreen.background(255, 255, 255); logo = TFTscreen.loadImage("arduino.bmp"); if (!logo.isValid()) { Serial.println(F("error while loading arduino.bmp")); } } void loop() { if (logo.isValid() == false) return; Serial.println(F("drawing image")); int x = random(TFTscreen.width() - logo.width()); int y = random(TFTscreen.height() - logo.height()); TFTscreen.image(logo, x, y); delay(1500); }
Производственный процесс
- Панель управления полётным симулятором 2020 на Arduino Nano: LCD и CDI-дисплеи
- Часы реального времени на Arduino с расчётом времени намаза
- Вывод BMP‑изображений с SD‑карты на TFT LCD Shield 2.4″ для Arduino
- Сборка портативного дисплея на основе эффекта сохранения изображения с Arduino UNO и ATtiny85
- Мастерство 8×8 LED-матрицы с Arduino Uno: Пошаговое руководство
- Создание интерактивного 4x4x4 светодиодного куба на Arduino Uno и 1Sheeld
- Проект Arduino GPS и TFT-сенсорного экрана: отображение местоположения в реальном времени
- Удалённое управление автомобилем на Arduino Uno и Bluetooth: пошаговое руководство
- Надёжные будильник на DS1302 RTC и Arduino UNO — сборка и код
- Управление 4-пиновым PWM-вентилятором 25 кГц на Arduino Uno — Сборка, код и тесты