ssd1306 — Драйвер OLED¶
Этот модуль предоставляет драйвер для OLED-дисплеев на базе SSD1306. Поддерживаются два варианта транспорта: I2C (SSD1306_I2C) и SPI (SSD1306_SPI). Оба наследуют API рисования от SSD1306, который оборачивает framebuf.FrameBuffer1.
Пример:
from machine import I2C
import ssd1306
i2c = I2C(2)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
oled.fill(0)
oled.text("Hello", 0, 0)
oled.show()
Классы¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Базовый класс для OLED-дисплеев SSD1306. Подклассы должны инициализировать
self.framebufи предоставлять методыwrite_cmd,write_data,write_framebufиpoweron.Аргументы:
width– Ширина дисплея в пикселях.height– Высота дисплея в пикселях (должна быть кратна 8).external_vcc–True, если используется внешний источник VCC,Falseдля включения внутреннего зарядового насоса.
Атрибуты экземпляра:
width– Ширина дисплея в пикселях.height– Высота дисплея в пикселях.external_vcc– Флаг внешнего VCC.pages– Количество страниц высотой 8 пикселей (height // 8).
- init_display() None¶
Отправляет последовательность команд инициализации на дисплей, очищает буфер кадра и обновляет его. Вызывается автоматически из
__init__.
- contrast(contrast: int) None¶
Устанавливает контрастность дисплея.
contrast– Значение контрастности в диапазоне0–255.
- invert(invert: int) None¶
Инвертирует цвета дисплея.
invert–0для обычного вывода,1для инвертированного вывода. Используется только младший значащий бит.
- fill(col: int) None¶
Заполняет весь буфер кадра одним цветом.
col– Значение цвета (0для выключенного,1для включенного).
- pixel(x: int, y: int, col: int) None¶
Устанавливает цвет одного пикселя.
x– Координата столбца.y– Координата строки.col– Значение цвета (0или1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Драйвер SSD1306, подключаемый по I2C. Наследует от
SSD1306.Аргументы:
width– Ширина дисплея в пикселях.height– Высота дисплея в пикселях.i2c– Инициализированный объектmachine.I2C(или совместимый).addr– 7-битный адрес устройства I2C (по умолчанию0x3C).external_vcc–Trueдля внешнего VCC,Falseдля использования внутреннего зарядового насоса.
- class ssd1306.SSD1306_SPI(width: int, height: int, spi: machine.SPI, dc: machine.Pin, res: machine.Pin, cs: machine.Pin, external_vcc: bool = False)¶
Драйвер SSD1306, подключаемый по SPI. Наследует от
SSD1306. Использует фиксированную тактовую частоту SPI 10 МГц.Аргументы:
width– Ширина дисплея в пикселях.height– Высота дисплея в пикселях.spi– Объектpyb.SPI(или совместимый).dc– Вывод выбора данные/команда.res– Вывод сброса.cs– Вывод выбора микросхемы (chip-select).external_vcc–Trueдля внешнего VCC,Falseдля использования внутреннего зарядового насоса.