Знакоместный экран 16×2 через расширитель PCF8574.
В симуляторе
Модель разбирает не «протокол экрана», а то, что происходит на самом деле: библиотека шлёт в расширитель состояние восьми линий, а те подключены к контроллеру экрана. Поэтому заработает любая библиотека, которая правильно дёргает эти линии, а не только эта.
Адрес платы обычно 0x27 или 0x3F — он написан на самой микросхеме расширителя и задаётся свойством детали. Подсветку видно на схеме: она меняется по backlight().
Примеры с этой библиотекой
LCD 16x2: первый текст — Дисплей на I2C: два провода данных вместо шести. Адрес обычно 0x27, реже 0x3F — проверяется сканером шины.
LCD: счётчик секунд — Обновление одной строки без очистки всего экрана: мигания не будет.
LCD: бегущая строка — Текст длиннее шестнадцати символов показывается окном, которое ползёт по строке.
LCD: термометр — Датчик и дисплей вместе. Собственный символ градуса — потому что в наборе LCD его нет.
LCD: меню на двух кнопках — Список пунктов, курсор и выбор. Минимальный интерфейс, из которого вырастает любой прибор.
Температура из часов — У DS3231 внутри свой термометр — им микросхема поправляет ход кварца. Его можно читать и просто так.
Барометр: тенденция за три часа — Погоду предсказывает не давление, а его изменение. Кольцевой буфер и разность с отсчётом трёхчасовой давности.
Arduino Uno: секундомер с кругами на LCD — Левая кнопка — старт и стоп, правая — отметить круг на ходу или сбросить на остановленном. На первой строке общее время с сотыми, на второй…
Arduino Uno: дисплей LCD 16x2 по I2C — Два провода данных вместо шести. На Uno шина прибита к A4 и A5 — схема с ESP32 сюда не переносится, и молчащий дисплей означает именно это.
Arduino Mega: шина I2C переехала на 20 и 21 — Схема с Uno на Mega не переносится: A4 и A5 здесь обычные аналоговые входы, а шина выведена на 20 и 21. Дисплей молчит, и в коде искать нече…
Arduino Uno: меню на LCD и энкодере — Классический интерфейс прибора из одной ручки: поворот листает пункты, нажатие выбирает, в пункте поворот меняет значение, второе нажатие во…
Метеостанция с тенденцией давления — Часы, температура, влажность и давление на одном экране — и стрелка, куда идёт давление за последний час. Три устройства на одной шине I2C…
Кодовый замок с блокировкой — Клавиатура, экран и реле электрозамка. Код звёздочками, три ошибки подряд — блокировка на полминуты, смена кода с подтверждением. Клавиши на…
Термостат с гистерезисом — DHT22 меряет, реле греет, ручка задаёт уставку. Гистерезис в полградуса и выдержка в десять секунд берегут реле. Температуру датчика меняют…
Автополив и фитолампа на Arduino Nano — Настоящее устройство для подоконника: фитолампа 230 В по расписанию и два насоса 12 В, каждый со своим периодом полива. Часы DS3231, датчик…
Автополив и фитолампа на ESP32 с веб-админкой — То же устройство, что на Arduino Nano — фитолампа 230 В по расписанию и два насоса 12 В со своим периодом полива, — но с веб-админкой в прош…