OLED-дисплей¶
OLED-дисплей - это маленький экран для вывода текста, цифр, простых значков и статуса устройства. В отличие от обычного LCD, OLED сам светится и не требует отдельной подсветки. Поэтому маленькие OLED-модули хорошо читаются, занимают мало места и удобны для простых самодельных устройств.
В iDryer-подобном устройстве OLED может показывать температуру, влажность, режим работы, ошибку, состояние Wi-Fi, остаток филамента или текущую фазу сушки.
Когда OLED полезен¶
OLED стоит добавлять, если пользователю нужно видеть состояние устройства прямо на корпусе:
- текущую температуру камеры;
- влажность;
- целевую температуру;
- режим работы;
- таймер;
- ошибку датчика;
- статус вентилятора или нагревателя;
- статус подключения;
- простое меню без большого экрана.
Если устройство всегда управляется через Klipper, веб-интерфейс или мобильное приложение, отдельный OLED может быть лишней деталью. Он добавляет проводку, место в корпусе, код и ещё одну точку отказа.
Типичные размеры и контроллеры¶
Самые частые маленькие OLED-модули:
128x32пикселя;128x64пикселя;- диагональ около
0.91"или0.96"; - монохромные: белые, синие, жёлто-синие;
- на контроллере
SSD1306или похожемSH1106.
SSD1306 и SH1106 похожи внешне, но не всегда полностью совместимы в коде. Если библиотека настроена на SSD1306, а модуль на самом деле SH1106, экран может показывать сдвинутую картинку, мусор или не работать.
Перед покупкой важно смотреть не только размер экрана, но и контроллер, интерфейс и напряжение питания.
I2C и SPI¶
Маленькие OLED-модули обычно подключаются по I2C или SPI.
I2C-модуль обычно имеет 4 контакта:
VCC;GND;SDA;SCL.
SPI-модуль обычно требует больше линий:
VCC;GND;SCK/CLK;MOSI/DIN;CS;DC;- иногда
RST.
I2C проще по проводке и обычно достаточно для статуса, температуры и простого меню. SPI быстрее и лучше подходит, если экран часто перерисовывается, но для маленького статусного дисплея это редко критично.

Источник: Adafruit Learning System, CC BY-SA 3.0
Питание и уровни логики¶
OLED-модуль может быть рассчитан на 3.3V, на 5V, или иметь стабилизатор и согласование уровней на плате. Внешне такие модули могут выглядеть почти одинаково.
Перед подключением проверь:
- какое питание указано на модуле или странице товара;
- совместимы ли линии
SDA/SCLс логикой контроллера; - есть ли на модуле подтяжки I2C;
- не конфликтуют ли подтяжки с напряжением контроллера.
Для ESP32 и большинства современных микроконтроллеров безопаснее считать логику 3.3V. Если OLED-модуль подтягивает I2C к 5V, это может быть проблемой для 3.3V контроллера.
Многие популярные I2C OLED-модули работают от 3.3V и нормально подключаются к ESP32 напрямую, но это нужно проверять по конкретному модулю.
I2C-адрес¶
У I2C OLED часто встречаются адреса:
0x3C;0x3D.
Если экран не отвечает, адрес - первое, что нужно проверить после питания и проводов. Некоторые модули позволяют менять адрес перемычкой или пайкой маленького джампера на плате.
Признаки неверного адреса:
- скетч или прошивка запускается, но экран пустой;
- I2C-сканер видит устройство на другом адресе;
- библиотека инициализирует дисплей без видимого результата;
- после смены
0x3Cна0x3Dвсё начинает работать.
Что показывать на маленьком экране¶
У OLED 128x32 или 128x64 очень мало места. Не стоит пытаться сделать на нём полноценный интерфейс как на смартфоне.
Хороший набор для сушилки или нагревателя:
- крупная текущая температура;
- целевая температура;
- влажность, если есть датчик;
- режим:
HEAT,DRY,IDLE,ERROR; - маленький значок вентилятора/нагрева;
- код ошибки или короткое сообщение.
Плохой набор:
- длинные предложения;
- мелкие таблицы;
- много пунктов меню на одном экране;
- постоянно бегущая строка;
- декоративная анимация вместо полезного состояния.
Для устройства с нагревателем важнее быстро увидеть ошибку, чем красивую заставку.
Выгорание и яркость¶
OLED-пиксели стареют от свечения. Если много часов показывать один и тот же яркий текст на одном месте, со временем может появиться след.
Для самодельного устройства это не всегда критично, но лучше:
- не держать яркость на максимуме без необходимости;
- гасить экран после простоя;
- периодически менять расположение статичных элементов;
- не показывать белую заливку постоянно;
- использовать короткое обновление вместо лишней анимации.
В тёплой камере или рядом с нагревателем OLED тоже может жить хуже. Электронику и дисплеи лучше держать в зоне, где температура контролируемая и не превышает рабочий диапазон модуля.
Длина проводов и помехи¶
I2C не любит длинные провода, особенно рядом с моторами, нагревателями и силовыми линиями. Если OLED стоит на дверце или съёмной панели, длинный гибкий шлейф может стать источником случайных ошибок.
Практические правила:
- держать
SDAиSCLкороткими; - вести их вдали от силовых проводов нагревателя;
- использовать общий
GND; - не делать разъём, который можно вставить наоборот;
- для съёмной крышки ставить нормальный разъём и разгрузку провода;
- если I2C нестабилен, сначала укоротить проводку и проверить подтяжки.
SPI обычно лучше переносит более высокую скорость обновления, но проводов больше, и ошибки подключения встречаются чаще.
OLED или сенсорный экран¶
OLED подходит, если нужно вывести состояние. Он не решает задачу ввода, если нет кнопок, энкодера или другого органа управления.
Если пользователю нужно часто менять настройки прямо на устройстве, может понадобиться:
- энкодер + OLED;
- несколько кнопок + OLED;
- TFT-дисплей;
- сенсорный экран;
- веб-интерфейс или приложение.
Не стоит ставить сенсорный экран только потому, что OLED кажется маленьким. Для простых устройств маленький OLED с одной кнопкой иногда надёжнее и понятнее.
Что проверить перед покупкой¶
Перед покупкой OLED-модуля проверь:
- размер:
128x32,128x64или другой; - контроллер:
SSD1306,SH1106,SH1107; - интерфейс: I2C или SPI;
- питание:
3.3V,5Vили диапазон; - уровень логики;
- I2C-адрес, если указан;
- наличие reset-пина;
- поддержку в выбранной прошивке или библиотеке;
- физические размеры платы и отверстия крепления;
- расположение разъёма;
- рабочую температуру;
- цвет и читаемость под нужным углом.
Для ESP32-устройства чаще всего удобен I2C OLED 128x64 на SSD1306 с адресом 0x3C. Для Klipper-платы нужно смотреть, поддерживает ли конкретная плата выбранную шину и как дисплей описывается в конфигурации.
Типовые ошибки¶
- перепутали
SDAиSCL; - подключили питание не к тому напряжению;
- не проверили I2C-адрес;
- выбрали
SSD1306в коде, а модуль оказалсяSH1106; - поставили слишком длинные провода I2C;
- забыли общий
GND; - подключили модуль с 5V подтяжками к 3.3V контроллеру без проверки;
- выбрали SPI-модуль, ожидая 4 контакта как у I2C;
- поставили экран в горячую зону;
- добавили дисплей без понимания, какую задачу он решает для пользователя.
Главное¶
OLED-дисплей хорош для короткого статуса и простого локального интерфейса. Для большинства самодельных устройств достаточно I2C OLED 128x64, если он совместим по питанию и поддерживается выбранной прошивкой.
Перед подключением проверь контроллер дисплея, интерфейс, питание, I2C-адрес и длину проводов. Если устройство уже удобно управляется через веб-интерфейс, OLED может быть не нужен.
Материалы по теме¶
- Adafruit: Monochrome OLED Breakouts - практический гайд по маленьким SSD1306 OLED, I2C/SPI подключению, размерам и примерам.
- SparkFun: Qwiic Micro OLED Hookup Guide - пример I2C OLED-модуля, библиотеки и вывода текста/графики.
- ESPHome: SSD1306 OLED Display - документация по
ssd1306_i2c,ssd1306_spi, адресам, моделям SSD1306/SH1106 и конфигурации. - Klipper Configuration Reference: display - поддержка дисплеев в Klipper, включая
ssd1306иsh1106. - SSD1306 Datasheet: Solomon Systech - техническое описание контроллера SSD1306: разрешение, интерфейсы I2C/SPI/parallel и команды.