ssd1306 — OLED-Treiber¶
Dieses Modul stellt einen Treiber für SSD1306-basierte OLED-Displays bereit. Zwei Übertragungsvarianten werden unterstützt: I2C (SSD1306_I2C) und SPI (SSD1306_SPI). Beide erben die Zeichen-API von SSD1306, die einen framebuf.FrameBuffer1 umschließt.
Beispiel:
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()
Klassen¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Basisklasse für SSD1306-OLED-Displays. Unterklassen müssen
self.framebufinitialisieren und die Methodenwrite_cmd,write_data,write_framebufundpoweronbereitstellen.Argumente:
width– Displaybreite in Pixeln.height– Displayhöhe in Pixeln (muss ein Vielfaches von 8 sein).external_vcc–True, wenn eine externe VCC-Quelle verwendet wird,False, um die interne Ladungspumpe zu aktivieren.
Instanzattribute:
width– Displaybreite in Pixeln.height– Displayhöhe in Pixeln.external_vcc– Flag für externe VCC.pages– Anzahl der 8 Pixel hohen Seiten (height // 8).
- init_display() None¶
Sendet die Initialisierungs-Befehlssequenz an das Display, löscht den Framebuffer und aktualisiert ihn. Wird automatisch von
__init__aufgerufen.
- contrast(contrast: int) None¶
Stellt den Displaykontrast ein.
contrast– Kontrastwert im Bereich0–255.
- invert(invert: int) None¶
Invertiert die Displayfarben.
invert–0für normale Ausgabe,1für invertierte Ausgabe. Nur das niederwertigste Bit wird verwendet.
- fill(col: int) None¶
Füllt den gesamten Framebuffer mit einer einzigen Farbe.
col– Farbwert (0für aus,1für an).
- pixel(x: int, y: int, col: int) None¶
Stellt die Farbe eines einzelnen Pixels ein.
x– Spaltenkoordinate.y– Zeilenkoordinate.col– Farbwert (0oder1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
I2C-verbundener SSD1306-Treiber. Erbt von
SSD1306.Argumente:
width– Displaybreite in Pixeln.height– Displayhöhe in Pixeln.i2c– Ein initialisiertesmachine.I2C-Objekt (oder kompatibel).addr– 7-Bit-I2C-Geräteadresse (Standard0x3C).external_vcc–Truefür externe VCC,False, um die interne Ladungspumpe zu verwenden.
- class ssd1306.SSD1306_SPI(width: int, height: int, spi: machine.SPI, dc: machine.Pin, res: machine.Pin, cs: machine.Pin, external_vcc: bool = False)¶
SPI-verbundener SSD1306-Treiber. Erbt von
SSD1306. Verwendet eine feste SPI-Taktrate von 10 MHz.Argumente:
width– Displaybreite in Pixeln.height– Displayhöhe in Pixeln.spi– Einpyb.SPI-Objekt (oder kompatibel).dc– Data/Command-Auswahlpin.res– Reset-Pin.cs– Chip-Select-Pin.external_vcc–Truefür externe VCC,False, um die interne Ladungspumpe zu verwenden.