ST7789 TFT — Adafruit 3787, 1.54″ 240×240

Adafruit · 3787 — Adafruit 3787, 1.54″ 240×240

Цветной SPI-экран для меню, графиков и панели показаний.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьЛегко
Проекты с компонентом

О МОДУЛЕ

Что делает 3787 — Adafruit 3787, 1.54″ 240×240

ST7789 — название контроллера, на котором выпускают множество разных экранов. Для этой карточки выбран документированный Adafruit 3787: квадратный IPS-модуль с microSD и преобразователями уровней. Он подходит для цветной панели датчиков, значков и небольших графиков.

Пиксели хранятся в памяти контроллера, поэтому простой интерфейс можно рисовать без полного кадрового буфера в RAM микроконтроллера. Другие ST7789-модули могут иметь иной размер, видимую область, порядок цветов и отсутствие CS. Им нужна собственная конфигурация. Скорость заполнения экрана определяется SPI и программой; это не обещание плавного видео.

На фото Adafruit 3787, 1,54″ 240×240, ревизия с выводом TE без EYESPI. Adafruit 3787 ST7789 1.54-inch. Фото: Kattni Rembor. Оригинал: https://learn.adafruit.com/assets/79133 . Лицензия фотографии: CC BY-SA 3.0, http://creativecommons.org/licenses/by-sa/3.0/ . Изменения: Удалён исходный фон, в том числе только видимые просветы монтажных отверстий. Пропорциональное масштабирование, размещение на предоставленном фоне и JPEG-сжатие. Геометрия, цвет, маркировка и видимые детали не перерисовывались. Адаптация фотографии распространяется по той же лицензии.

Схема распиновки

Авторская распиновка SLDV LAB: Adafruit 3787. 1,54″ 240×240 · ревизия с TE без EYESPI · экран к вам, разъём снизу. Номера обозначают позиции на рисунке. Другие платы на том же контроллере требуют отдельной проверки.

Источники: 1, 2. Авторская схема SLDV LAB по фактам документации и видимой маркировке.

Характеристики

Контроллер
ST7789
Разрешение
240 × 240
Диагональ
1.54 дюйм
Интерфейс примера
4-проводный SPI
Формат цвета в примере
RGB565, 16 бит
Питание модуля
VIN/VCC: 3,3–5 В; входная логика 3,3/5 В благодаря преобразователям уровней именно этой платы Adafruit. В примере Arduino UNO R3: 5 В.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
VIN / VCC / 3-5V5VArduino UNO R3 (ATmega328P), 5 В
GND / GGNDОбщая земля
SCK / SCLK / CLK / CLD13Аппаратный SCK Arduino UNO R3
MOSI / SID11Аппаратный MOSI Arduino UNO R3
TFT_CS / CS / TCD10Arduino UNO R3 (ATmega328P), 5 В
D/C / DCD8Arduino UNO R3 (ATmega328P), 5 В
RSTD9Arduino UNO R3 (ATmega328P), 5 В
SDCS / Card CS / CCD4Держать HIGH: microSD в этом примере не используется
MISO / SOНе подключатьЧтение карты и регистров TFT в примере не используется
Lite / BLНе подключатьНа выбранной плате подтянут к высокому уровню; подсветка включена

Подходит для Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги подключить ST7789 TFT — Adafruit 3787, 1.54″ 240×240. Сначала уточни плату, среду разработки, точный модуль и нужный интерфейс. Пример карточки относится к Adafruit 3787: не переноси его питание, распиновку, смещения или последовательность запуска на любой ST7789. Подготовь зависимости, полный пример и проверку текста, RGB-полос и ориентации. Проверь CS, DC, RST, подсветку и выбранный режим SPI; объясни, что функция инициализации сама по себе не доказывает присутствие экрана. Для microSD нужна отдельная линия CS и согласованная работа SPI.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Библиотека
Adafruit ST7735 and ST7789 Library 1.11.0

Установить в Arduino Library Manager вместе с зависимостями.

Заголовок
#include <Adafruit_ST7789.h>

Драйвер выбранного контроллера, дополнительно Adafruit_GFX.h и SPI.h.

Конструктор
Adafruit_ST7789 tft(10, 8, 9);

Аргументы CS, DC, RST; аппаратные SCK/MOSI на UNO R3 находятся на D13/D11.

Инициализация
tft.init(240, 240);

Настройка относится к выбранному исполнению панели.

Отключение microSD
digitalWrite(4, HIGH);

SDCS подключён к D4 и заранее настроен как OUTPUT.

Arduino UNO R3: цветовая проба и время работы

cpp
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
Adafruit_ST7789 tft(10, 8, 9); // CS, DC, RST
const uint8_t SD_CS = 4;

void setup() {
  Serial.begin(115200);
  pinMode(SD_CS, OUTPUT);
  digitalWrite(SD_CS, HIGH);
  tft.init(240, 240);
  tft.setRotation(0);
  tft.fillScreen(0x0000);
  tft.setTextSize(2);
  tft.setTextColor(0xFFFF, 0x0000);
  tft.setCursor(10, 12);
  tft.println(F("SLDV LAB"));
  tft.fillRect(10, 42, 30, 18, 0xF800);
  tft.fillRect(45, 42, 30, 18, 0x07E0);
  tft.fillRect(80, 42, 30, 18, 0x001F);
  Serial.println(F("Check image, colors and wiring on the screen"));
}
void loop() {
  tft.setCursor(10, 75);
  tft.print(millis() / 1000UL);
  tft.print(F(" s   "));
  delay(1000);
}

Полный скетч для Arduino UNO R3, Arduino AVR Boards 1.8.6 и Adafruit ST7735 and ST7789 Library 1.11.0. API сверено с официальными исходниками, аппаратный тест не выполнялся. Если изображение смещено или обрезано, сначала проверьте размер и исполнение панели. При пустом экране проверьте CS/DC/RST и подсветку. init(240, 240) подходит выбранному модулю, а не всем ST7789.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты