ssd1306 — OLED-stuurprogramma¶
Deze module biedt een stuurprogramma voor OLED-displays op basis van de SSD1306. Er worden twee transportvarianten ondersteund: I2C (SSD1306_I2C) en SPI (SSD1306_SPI). Beide erven de teken-API van SSD1306, die een framebuf.FrameBuffer1 omhult.
Voorbeeld:
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 voor SSD1306 OLED-displays. Subklassen moeten
self.framebufinitialiseren en de methodenwrite_cmd,write_data,write_framebufenpoweronaanbieden.Argumenten:
width– Displaybreedte in pixels.height– Displayhoogte in pixels (moet een veelvoud van 8 zijn).external_vcc–Trueals er een externe VCC-bron wordt gebruikt,Falseom de interne charge pump in te schakelen.
Instantie-attributen:
width– Displaybreedte in pixels.height– Displayhoogte in pixels.external_vcc– Externe VCC-vlag.pages– Aantal pagina’s van 8 pixels hoog (height // 8).
- init_display() None¶
Stuur de initialisatiecommandosequentie naar het display, wis de framebuffer en ververs. Wordt automatisch aangeroepen door
__init__.
- contrast(contrast: int) None¶
Stel het displaycontrast in.
contrast– Contrastwaarde in het bereik0–255.
- invert(invert: int) None¶
Inverteer de displaykleuren.
invert–0voor normale uitvoer,1voor geïnverteerde uitvoer. Alleen de minst significante bit wordt gebruikt.
- fill(col: int) None¶
Vul de hele framebuffer met één enkele kleur.
col– Kleurwaarde (0voor uit,1voor aan).
- pixel(x: int, y: int, col: int) None¶
Stel de kleur van een enkele pixel in.
x– Kolomcoördinaat.y– Rijcoördinaat.col– Kleurwaarde (0of1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Via I2C aangesloten SSD1306-stuurprogramma. Erft van
SSD1306.Argumenten:
width– Displaybreedte in pixels.height– Displayhoogte in pixels.i2c– Een geïnitialiseerdmachine.I2C-object (of compatibel).addr– 7-bits I2C-apparaatadres (standaard0x3C).external_vcc–Truevoor externe VCC,Falseom de interne charge pump te gebruiken.
- class ssd1306.SSD1306_SPI(width: int, height: int, spi: machine.SPI, dc: machine.Pin, res: machine.Pin, cs: machine.Pin, external_vcc: bool = False)¶
Via SPI aangesloten SSD1306-stuurprogramma. Erft van
SSD1306. Gebruikt een vaste SPI-kloksnelheid van 10 MHz.Argumenten:
width– Displaybreedte in pixels.height– Displayhoogte in pixels.spi– Eenpyb.SPI-object (of compatibel).dc– Data/commando-selectiepin.res– Resetpin.cs– Chip-selectpin.external_vcc–Truevoor externe VCC,Falseom de interne charge pump te gebruiken.