Компонент Adafruit Qualia S3 RGB666
Есть несколько вещей, которые любят все: мороженое, котята и сигналящие большие TFT-экраны. Нам не привыкать к маленьким TFT-дисплеям — от нашего цветного дисплея itsy с диагональю 1,14 дюйма, который украшает многие TFT-дисплеи, до нашего модного 3,5-дюймового экрана с разрешением 320×480 пикселей. Но большинство людей, которые занимаются микроконтроллерами или проектируют их, знают, что 320×480 — это максимальное разрешение, которое вы можете использовать с повседневными интерфейсами SPI или 8-разрядными 8080. После этого вы попадаете в страну TFT с TTL-интерфейсом, где дисплеи больше не имеют буфера внутренней памяти, и вместо этого контроллер должен непрерывно записывать данные scanline через 16, 18 или 24-контактный интерфейс.
TFT-дисплеи с интерфейсом RGB TTL могут стать большими: они начинаются примерно с Диагональ 4,3″ составляет 480х272, а может достигать 800х480, 800х600 или даже 720х720. Для таких больших дисплеев вам потребуется много видеопамяти (разрешение 800×480 при 24-битной цветопередаче составляет чуть более 1 МБ), много свободного места для GPIO и периферийное устройство, которое будет непрерывно передавать видеопамять на дисплей. Эта настройка знакома людям, работающим с мощными микроконтроллерами или микрокомпьютерами, устройствами, которые управляют мобильными телефонами, или экраном GPS-навигации вашего автомобиля. Но до сих пор его практически невозможно было использовать на недорогих микроконтроллерах.
ESP32-S3 — это первый недорогой микроконтроллер со встроенным периферийным устройством, которое может управлять TTL-дисплеями, и может поставляться с достаточным количеством PSRAM для буферизации этих больших изображений. Например, в Adafruit Qualia ESP32-S3 для дисплеев TTL RGB-666 мы используем модуль S3 с 16 МБ флэш-памяти и 8 МБ восьмеричной PSRAM. Используя встроенное периферийное устройство RGB display, вы можете отображать графику, изображения, анимацию или даже видео (cinepak, естественно!) практически мгновенно, поскольку весь экран обновляется каждые ~ 30 кадров в секунду.
Эта плата разработчика предназначена для того, чтобы вам было легко изучать дисплеи, использующие 40-контактный разъем RGB-666 «вторичного стандарта». Такой порядок пин-кодов чаще всего можно увидеть на квадратных, круглых и столбчатых дисплеях. Вам захочется сравнить дисплей, который вы используете, с этой таблицей данных, и если она совпадет, у вас, вероятно, все получится! Одной из приятных особенностей заказа этого разъема является то, что он также включает контакты для наложения емкостного сенсорного экрана, и мы подключаем их к порту I2C ESP32-S3, чтобы вы также могли осуществлять сенсорное управление своим дисплеем.
Не забывай! Это всего лишь плата разработки, дисплей в комплект не входит. Используйте любой дисплей с распиновкой RGB-666 с сенсорным наложением или без него. Обратите внимание, что вам нужно будет запрограммировать код инициализации драйвера, размеры и длительность импульсов на вашем языке программирования. Вот несколько известных рабочих дисплеев, которые вы можете использовать в Arduino или CircuitPython:
- Круглый 2,1″480×480 с емкостным сенсорным экраном
- 2,1″480×480 Круглый без касания
- Квадрат 4″ 720×720 с емкостным сенсорным экраном
- Круглый 4″720×720 без касания
- Прямоугольный брус 4,6″ 960×320
На плате Qualia у нас есть модули S3 с 16 контактами, подключенными к TFT для 5-6-5 цветов RGB, а также HSync, VSync, Data Enable и Pixel Clock. Существует схема управления подсветкой с постоянным током, использующая TPS61169, которая может получать прямое напряжение до 30 В и может быть настроена на 25 мА-200 мА с шагом 25 мА (по умолчанию 25 мА). Питание и программирование осуществляется через разъем USB C, подключенный к встроенному USB-порту S3. Для отладки также доступен аппаратный вывод UART TX.
Поскольку используется почти каждый GPIO, и почти все дисплеи RGB-666 необходимо инициализировать через SPI, мы подключили расширитель ввода-вывода PCA9554 к общей шине I2C. Arduino или CircuitPython могут быть проинструктированы о том, как использовать расширитель для сброса и инициализации имеющегося у вас дисплея, если это необходимо. Остальные контакты расширителя подключены к двум прямоугольным кнопкам и подсветке дисплея.
Расширитель — это то, что позволяет нам иметь полноценный 4-контактный порт SPI и еще два аналоговых вывода GPIO — этого достаточно, чтобы подключить MMC в режиме 1-wire SDIO вместе с усилителем I2S для создания демонстрации воспроизведения аудио / видео. Может быть, мы даже сможем съесть мороженое, смотря видео с котенками! Существует также общий порт I2C, мы предоставляем порт Stemma QT / Qwiic для легкого добавления любого датчика или устройства, которое вам нравится.
Печатная плата
Схема
Список пинов
Пин | Тип |
---|---|
3.3V | мама |
VCC | папа |
3.3V | папа |
!RESET | мама |
A0 | мама |
A1 | мама |
BOOT0_B4 | мама |
CS | мама |
SDA | папа |
SCL | папа |
TXD0 | мама |
SCK | мама |
MOSI | мама |
MISO | мама |
A0_JST | папа |
GND | мама |
GND | папа |
GND | папа |
Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.