Кратко о LCD 12864 ST7920
LCD 12864 — графический жидкокристаллический дисплей 128 × 64 пикселя на контроллере ST7920 для меню, показаний датчиков, состояний оборудования, пиктограмм и несложных графиков.
Модуль питается от 5 В и поддерживает 8-битный, 4-битный и синхронный последовательный интерфейсы. Для прямого управления удобнее всего использовать 5-вольтовую микроконтроллерную плату; выходы контроллеров с логикой 3,3 В требуют отдельной проверки и, при необходимости, согласования уровней.
Ключевые характеристики
- Тип
- графический LCD-модуль
- Разрешение
- 128 × 64 пикселя
- Контроллер дисплея
- ST7920
- Рабочее напряжение
- 5 В
- Интерфейсы
- 8-битный и 4-битный параллельные, синхронная последовательная шина
- Размеры модуля
- 93 × 86 × 19 мм
- Масса
- 74 г
- Рабочая температура
- −20…+70 °C
Подробное описание и особенности
Текст и графика в одном интерфейсе
Матрица 128 × 64 позволяет сочетать числовые значения, короткие надписи, пиктограммы, шкалы и простые графики. Модуль подходит для локальных панелей, где символьного экрана недостаточно, а цветной или сенсорный дисплей не требуется.
Последовательное или параллельное управление
Последовательный режим требует меньше сигнальных линий, поэтому оставляет больше выводов микроконтроллера для датчиков, кнопок и другой периферии. Параллельные режимы уместны, если схема уже разведена под соответствующую шину. В контроллере ST7920 контакт PSB выбирает последовательный или параллельный интерфейс, а 8- или 4-битный формат задаётся для параллельной шины.[1]
Для Arduino-совместимых проектов библиотека U8g2 содержит отдельные конструкторы для ST7920 128 × 64 и показывает назначение линий Clock, Data и Chip Select в последовательном режиме.[2] В программе необходимо выбрать именно драйвер ST7920 и фактическую схему подключения.
Питание и логические уровни
Модуль работает от 5 В. Для ST7920 минимальный гарантированный высокий уровень входа определён как 0,7 от напряжения питания, поэтому прямой сигнал 3,3 В при питании дисплея от 5 В не следует считать гарантированно совместимым.[1] Для ESP32, ESP8266, Raspberry Pi и других 3,3-вольтовых контроллеров предусмотрите надлежащее согласование логических уровней.
Подойдёт / не подойдёт
Подойдёт
- для панелей управления, меню и индикаторов состояния;
- для отображения показаний датчиков, шкал и простых графиков;
- для 5-вольтовых Arduino-совместимых контроллеров с достаточным количеством выводов;
- для схем с последовательным или параллельным управлением ST7920;
- для корпусов, в которых предусмотрено место под модуль 93 × 86 × 19 мм.
Не подойдёт
- в качестве цветного или сенсорного экрана;
- для прямого подключения к 3,3-вольтовой логике без проверки допустимых уровней;
- в качестве замены дисплея с другим контроллером без изменения программы и распиновки;
- для видео, фотографий или интерфейсов с высокой частотой обновления;
- в качестве механической замены без сверки размеров, отверстия в панели и точек крепления.
Примеры применения
Панель метеостанции
На одном экране можно разместить температуру, влажность, давление, пиктограмму состояния и небольшой график изменения показаний.
Меню контроллера оборудования
Дисплей может отображать выбранный режим, заданные параметры, предупреждения и подсказки для кнопок или энкодера.
Учебный проект со ST7920
Модуль позволяет отработать вывод текста, растровых изображений и графических примитивов, а также сравнить последовательное и параллельное подключение.
Подключение и первый запуск
-
Сверьте контакты конкретного модуля
При отключённом питании найдите GND, VCC, V0, PSB и управляющие линии по надписям на плате. Не переносите порядок контактов со схемы внешне похожего дисплея.
-
Подайте питание 5 В
Соедините землю дисплея и контроллера, проверьте полярность и только после этого подайте 5 В на вход питания модуля.
-
Выберите интерфейс
Для последовательного режима PSB должен находиться в низком состоянии, для параллельного — в высоком.[1] В последовательном режиме функции управляющих контактов изменяются на Chip Select, Data и Clock.
-
Настройте контрастность
Установите корректное напряжение на входе V0 в соответствии с разводкой модуля. Если после запуска экран остаётся пустым, прежде всего проверьте питание, V0, PSB и общую землю.
-
Запустите тест ST7920 128 × 64
В U8g2 выберите конструктор для ST7920 128 × 64, укажите фактические контакты и сначала выведите простой тестовый шаблон. Меню и датчики добавляйте после стабильной работы базового примера.
Совместимые товары и альтернативы
- Для 5-вольтового управления и компактного прототипа подойдёт Pro Micro ATmega32U4 5 В; для последовательного режима необходимо назначить цифровые выходы на Clock, Data и Chip Select.
- Если нужен значительно более компактный экран 128 × 64 с выбором I2C или SPI, рассмотрите OLED 0,96″ SSD1306. У него другой контроллер и форм-фактор, поэтому схема и настройки библиотеки отличаются.
Ограничения и безопасность
Не путайте питание и логические уровни
Напряжение питания модуля составляет 5 В, но совместимость сигнальных линий необходимо проверять отдельно. Не подключайте 3,3-вольтовый контроллер наугад; используйте надлежащее согласование уровней, если высокий уровень его выходов не соответствует требованиям ST7920.
Проверяйте полярность до включения
Ошибочное подключение VCC, GND или контактов подсветки может повредить дисплей. Изменяйте соединения только при отключённом питании и сверяйтесь с маркировкой полученной платы.
PSB должен соответствовать программе
Если аппаратно выбран последовательный режим, а программа настроена на параллельный, или наоборот, модуль не будет работать корректно.
Берегите LCD-панель при монтаже
Не давите на стекло и металлическую рамку, не сгибайте плату и избегайте статического электричества. Перед изготовлением корпуса проверьте фактические точки крепления модуля.
FAQ
Можно ли подключить LCD 12864 к Arduino?
Да. ST7920 128 × 64 поддерживается библиотекой U8g2. Проще всего использовать 5-вольтовую Arduino-совместимую плату, правильно выбрать интерфейс и указать фактические контакты в конструкторе библиотеки.
Можно ли напрямую управлять дисплеем от ESP32 или Raspberry Pi?
Прямую совместимость 3,3-вольтовых выходов с модулем, питающимся от 5 В, не следует считать гарантированной. Проверьте электрические уровни и при необходимости используйте преобразователь логических уровней.
Какой режим использовать — последовательный или параллельный?
Последовательный режим удобен, когда необходимо сэкономить выводы микроконтроллера. Параллельный стоит выбирать, если он уже предусмотрен схемой. Положение PSB и настройки библиотеки должны совпадать.
Почему подсветка работает, а изображения нет?
Проверьте питание 5 В, общую землю, напряжение V0, состояние PSB, управляющие линии и конструктор ST7920 128 × 64 в программе. Работа подсветки сама по себе не подтверждает правильную настройку контроллера дисплея.
Можно ли использовать обычный драйвер SPI-дисплея?
Необходим драйвер или библиотечный конструктор именно для ST7920. Одинаковые названия сигнальных линий не делают дисплеи с разными контроллерами программно взаимозаменяемыми.
Документы и источники
- Sitronix, ST7920 LCD Controller/Driver Specification, V3.0, 11.10.2002 — режимы интерфейса, функция PSB и требования к логическим уровням контроллера.
- U8g2 Wiki, Hardware Setup and Wiring — выбор конструктора ST7920 128 × 64 и назначение сигнальных линий в последовательном режиме.