Работа с экраном ST7789 на Atmega2560

Схема подключения (от ИИ):

  • VCC: 3.3V или 5V (зависит от модуля, обычно 3.3V) - в нашем 3,3V
  • GND: GND
  • CS (Chip Select): Pin 10 (можно другой цифровой)
  • RST (Reset): Pin 9 (можно другой цифровой)
  • DC (Data/Command): Pin 8 (можно другой цифровой)
  • MOSI (Data): Pin 51
  • SCK (Clock): Pin 52
  • LED/BLK: 3.3V (через резистор 100-200 Ом для ограничения тока)

Я подключила также по пинам, но BLK без резистора, а все пины, кроме BLK, GND, VCC через резисторы по 1 кОм.

Программирование

Установить штатными средствами библиотеки Adafruit ST7789 и Adafruit GFX. Открыть пример 



Простейший код, который выводит картинку, заранее подготовленную (здесь только главное, особенно, что надо изменить)


setRotation() задает ориентацию экрана:

  • 0 - вертикально, пины снизу,
  • 1 - горизонтально, пины справа, 
  • 2 - вертикально, пины сверху,  
  • 3 - горизонтально, пины слева.

Подготовка изображения

Поскольку у обычных плат Arduino (например, Nano или Uno) мало памяти, цветное изображение нужно сначала преобразовать в массив байтов:

Размер: Измените размер картинки под разрешение вашего экрана (например, 240x240 пикселей).

Конвертация: Используйте онлайн-сервисы или программы вроде LCD Image Converter. При конвертации выберите формат Color R5G6B5 и размер блока 16-бит. В указанной программе это выполняется в Настройках преобразования. Также можно взять в предпросмотре весь массив точек и просто создать переменную, как вот в этом примере: https://disk.yandex.ru/d/58U6-G7JVorTcA

Результат: Вы получите текстовый массив данных (C-array), который нужно скопировать в код вашего скетча или в отдельный заголовочный файл (.h).

Важные советы

Память: Полноцветное изображение 240x240 занимает около 115 КБ, что превышает память Arduino Uno/Nano (32 КБ). Для таких задач рекомендуется использовать ESP32 или хранить картинку на SD-карте.

Уровни напряжения: Если вы используете 5В Arduino, подключайте линии данных через резисторные делители или преобразователи уровней, чтобы не повредить дисплей. 

Как создавать русские шрифты: https://habr.com/ru/articles/575332/

Last modified: Sunday, 25 January 2026, 11:36 AM