Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

OLED-дисплей с ESP32

До сих пор мы выводили результаты в системную консоль. Для отладки это нормально, но для реальных задач не очень удобно. Если вы считываете данные датчиков, например температуру, или хотите показывать сообщения пользователю (или себе), нужен дисплей. Обычно для этого используют LCD или OLED.

OLED-дисплеи потребляют меньше энергии и работают лучше, чем LCD, поскольку не требуют подсветки. Они обеспечивают высокий контраст и лучшее качество изображения по сравнению с LCD. В этом разделе мы научимся использовать OLED-модуль с ESP32.

Знакомство с железом

OLED (Organic Light-Emitting Diode, органический светодиод) — популярный модуль дисплея. Такие дисплеи бывают разных размеров и могут поддерживать разные цвета. Они обмениваются данными по протоколу I²C или SPI.

В этом упражнении мы будем использовать монохромный OLED-модуль 0,96 дюйма с разрешением 128 x 64. Он работает от 3,3 В. Для связи используем протокол I2C.

Примечание: чаще всего OLED-дисплеи поставляются со штыревыми разъёмами, которые не припаяны. Пайка — полезный навык, но для неё нужны аккуратность и подготовка. Прежде чем браться за неё, посмотрите побольше видеоуроков и изучите вопрос. Поначалу это может быть непросто, но с практикой становится легче. Если вы пока не чувствуете себя уверенно с паяльником, поищите уже припаянную версию дисплея, хотя она может стоить немного дороже.

SSD1306

SSD1306 — интегральный контроллер, на котором работают многие небольшие OLED-дисплеи, в том числе модуль, который мы будем использовать (0,96 дюйма, 128x64). Этот контроллер управляет обменом данными между ESP32 и OLED-панелью, позволяя дисплею показывать текст, графику и не только.

Даташит: даташит SSD1306 можно найти здесь.