ssd1306 — OLED ovladač¶
Tento modul poskytuje ovladač pro OLED displeje založené na čipu SSD1306. Podporovány jsou dvě varianty přenosu: I2C (SSD1306_I2C) a SPI (SSD1306_SPI). Obě dědí kreslicí API od třídy SSD1306, která obaluje framebuf.FrameBuffer1.
Příklad:
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()
Třídy¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Základní třída pro OLED displeje SSD1306. Podtřídy musí inicializovat
self.framebufa poskytnout metodywrite_cmd,write_data,write_framebufapoweron.Argumenty:
width– Šířka displeje v pixelech.height– Výška displeje v pixelech (musí být násobkem 8).external_vcc–True, pokud se používá externí zdroj VCC,Falsepro povolení vnitřní nábojové pumpy.
Atributy instance:
width– Šířka displeje v pixelech.height– Výška displeje v pixelech.external_vcc– Příznak externího VCC.pages– Počet stránek o výšce 8 pixelů (height // 8).
- init_display() None¶
Odešle displeji inicializační sekvenci příkazů, vymaže framebuffer a obnoví zobrazení. Volá se automaticky z
__init__.
- contrast(contrast: int) None¶
Nastaví kontrast displeje.
contrast– Hodnota kontrastu v rozsahu0–255.
- invert(invert: int) None¶
Invertuje barvy displeje.
invert–0pro normální výstup,1pro invertovaný výstup. Použije se pouze nejméně významný bit.
- fill(col: int) None¶
Vyplní celý framebuffer jednou barvou.
col– Hodnota barvy (0pro vypnuto,1pro zapnuto).
- pixel(x: int, y: int, col: int) None¶
Nastaví barvu jednoho pixelu.
x– Souřadnice sloupce.y– Souřadnice řádku.col– Hodnota barvy (0nebo1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Ovladač SSD1306 připojeného přes I2C. Dědí od
SSD1306.Argumenty:
width– Šířka displeje v pixelech.height– Výška displeje v pixelech.i2c– Inicializovaný objektmachine.I2C(nebo kompatibilní).addr– 7bitová I2C adresa zařízení (výchozí0x3C).external_vcc–Truepro externí VCC,Falsepro použití vnitřní nábojové pumpy.
- class ssd1306.SSD1306_SPI(width: int, height: int, spi: machine.SPI, dc: machine.Pin, res: machine.Pin, cs: machine.Pin, external_vcc: bool = False)¶
Ovladač SSD1306 připojeného přes SPI. Dědí od
SSD1306. Používá pevnou taktovací frekvenci SPI 10 MHz.Argumenty:
width– Šířka displeje v pixelech.height– Výška displeje v pixelech.spi– Objektpyb.SPI(nebo kompatibilní).dc– Pin pro výběr dat/příkazu.res– Reset pin.cs– Pin pro výběr čipu (chip-select).external_vcc–Truepro externí VCC,Falsepro použití vnitřní nábojové pumpy.