ssd1306 — OLED upravljački program¶
Ovaj modul pruža upravljački program za OLED zaslone temeljene na SSD1306. Podržane su dvije prijenosne varijante: I2C (SSD1306_I2C) i SPI (SSD1306_SPI). Obje nasljeđuju API za crtanje od SSD1306, koji obavija framebuf.FrameBuffer1.
Primjer:
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()
Klase¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Osnovna klasa za SSD1306 OLED zaslone. Podklase moraju inicijalizirati
self.framebufi pružiti metodewrite_cmd,write_data,write_framebufipoweron.Argumenti:
width– Širina zaslona u pikselima.height– Visina zaslona u pikselima (mora biti višekratnik broja 8).external_vcc–Trueako se koristi vanjski VCC izvor,Falseza omogućavanje unutarnje naponske crpke.
Atributi instance:
width– Širina zaslona u pikselima.height– Visina zaslona u pikselima.external_vcc– Zastavica vanjskog VCC-a.pages– Broj stranica visine 8 piksela (height // 8).
- init_display() None¶
Šalje slijed inicijalizacijskih naredbi zaslonu, briše međuspremnik slike i osvježava ga. Automatski ga poziva
__init__.
- contrast(contrast: int) None¶
Postavlja kontrast zaslona.
contrast– Vrijednost kontrasta u rasponu0–255.
- invert(invert: int) None¶
Invertira boje zaslona.
invert–0za normalan izlaz,1za invertirani izlaz. Koristi se samo najmanje značajni bit.
- fill(col: int) None¶
Ispunjava cijeli međuspremnik slike jednom bojom.
col– Vrijednost boje (0za isključeno,1za uključeno).
- pixel(x: int, y: int, col: int) None¶
Postavlja boju jednog piksela.
x– Koordinata stupca.y– Koordinata retka.col– Vrijednost boje (0ili1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Upravljački program za SSD1306 povezan putem I2C-a. Nasljeđuje od
SSD1306.Argumenti:
width– Širina zaslona u pikselima.height– Visina zaslona u pikselima.i2c– Inicijaliziranimachine.I2C(ili kompatibilan) objekt.addr– 7-bitna I2C adresa uređaja (zadano0x3C).external_vcc–Trueza vanjski VCC,Falseza korištenje unutarnje naponske crpke.
- class ssd1306.SSD1306_SPI(width: int, height: int, spi: machine.SPI, dc: machine.Pin, res: machine.Pin, cs: machine.Pin, external_vcc: bool = False)¶
Upravljački program za SSD1306 povezan putem SPI-a. Nasljeđuje od
SSD1306. Koristi fiksnu SPI taktnu brzinu od 10 MHz.Argumenti:
width– Širina zaslona u pikselima.height– Visina zaslona u pikselima.spi–pyb.SPI(ili kompatibilan) objekt.dc– Pin za odabir podataka/naredbe.res– Pin za resetiranje.cs– Pin za odabir čipa.external_vcc–Trueza vanjski VCC,Falseza korištenje unutarnje naponske crpke.