SSD1306 OLED (обновлено: 20 Nov 2022, 13:23:02)

 SSD1306 128x64

Адрес экрана 0x3С.

Настройка и управление аналогично LCD дисплею.



OLED SSD1306 -  разрешение 128x64, существуют и другие разрешения. Существующие размеры экранов 0.96" и 1.2". Подключение по интерфейсу I2C. До 8 строк текста.

Русский шрифт есть при установке модуля прошивки "Русский шрифт", но только на маленьком шрифте(до 18.11.22).

С 19.11.22 доступно маштабирование шрифтов, а так же поворот изображения на 180 градусов и изменение яркости.

Подключение дисплея:

Необходимо подтянуть I2C шину к 3.3в резисторами 4.7кОм. При успешном подключении устройств они должны быть видны в сканере  I2C.

Адрес OLED дисплея должен быть 0x3С.

Если используется готовая плата с ESP32 , то часто reset дисплея выведен на чип. Требуется указать данный GPIO под шестеренкой.

Настройка дисплеев:

Для включения подсветки необходимо в настройках включить галку Enable backlight.

При включенном дисплее ниже будет отображаться настройки вывода строк и другие параметры. Для отображения информации необходимо выбрать номер строки и выбрать из списка датчик или другой параметр. Датчики и другие функции присутствуют в списке только если они включены в прошивке ! Доступны только базовые датчики в выборе. При установленной опции "конструктор строки" появляется возможность формировать свой текст с вставками любых датчиков и параметров.

При использовании в конструкторе строк переноса последующий текст выводится на дисплее на следующей строке. При этом  введенный в начале этой строки текст вида &x изменяет размер шрифта, где х - размер шрифта. Пример: &3TEST выведет текст TEST 3 размером. Данная возможность позволяет вывести все данные используя всего один шаблон конструктора строк. Работает и при установке текста через MQTT. Опция доступна с 20.11.22.

Управление GET запросами:

Вывод своего текста: 

[ip]//lcdmsg?st=X&txt=text&font=Y , где X - номер строки, text - ваш текст, Y - шрифт.

[ip]/display?led=X , где X - 0 или 1. Включение/выключение подсветки.

[ip]/lcdbr?set=X , где Х - яркость дисплея 0...15 (доступно с 19.11.22).

[ip]/lcdcls - очистка экрана(переиницилизация).


Управление через MQTT:

login/hostname/[set/]lcd/line1 - отправка текста на 1 строку.

login/hostname/[set/]lcd/light - управление подсветкой (0/1).

login/hostname/[set/]lcd/inverse - инверсия изображения (1/0).

login/hostname/[set/]lcd/font - установка размера шрифта.

login/hostname/[set/]lcd/br - установка яркости 0..15 (доступно с 20.11.22).

Топик - set добавляется, если включены отдельные топики.


Управление подсветкой из функции прошивки:

Для удобства управления подсветкой из функций прошивки оно реализовано в виде GPIO 199, при указании данного GPIO настройках в термостата, логического модуля, радио и ИК пультах, в функции KEY в прерывании возможно управление подсветкой дисплея по событиям и внешним действиям.