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– Вивід вибору мікросхеми.external_vcc–Trueдля зовнішнього VCC,Falseдля використання внутрішнього зарядного насоса.