ssd1306 — Driver OLED¶
Questo modulo fornisce un driver per i display OLED basati su SSD1306. Sono supportate due varianti di trasporto: I2C (SSD1306_I2C) e SPI (SSD1306_SPI). Entrambe ereditano l’API di disegno da SSD1306, che incapsula un framebuf.FrameBuffer1.
Esempio:
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()
Classi¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Classe base per i display OLED SSD1306. Le sottoclassi devono inizializzare
self.framebufe fornire i metodiwrite_cmd,write_data,write_framebufepoweron.Argomenti:
width– Larghezza del display in pixel.height– Altezza del display in pixel (deve essere un multiplo di 8).external_vcc–Truese viene utilizzata una sorgente VCC esterna,Falseper abilitare la pompa di carica interna.
Attributi di istanza:
width– Larghezza del display in pixel.height– Altezza del display in pixel.external_vcc– Flag VCC esterna.pages– Numero di pagine alte 8 pixel (height // 8).
- init_display() None¶
Invia la sequenza di comandi di inizializzazione al display, azzera il framebuffer ed esegue il refresh. Chiamato automaticamente da
__init__.
- contrast(contrast: int) None¶
Imposta il contrasto del display.
contrast– Valore di contrasto nell’intervallo0–255.
- invert(invert: int) None¶
Inverte i colori del display.
invert–0per output normale,1per output invertito. Viene utilizzato solo il bit meno significativo.
- fill(col: int) None¶
Riempie l’intero framebuffer con un singolo colore.
col– Valore di colore (0per spento,1per acceso).
- pixel(x: int, y: int, col: int) None¶
Imposta il colore di un singolo pixel.
x– Coordinata di colonna.y– Coordinata di riga.col– Valore di colore (0o1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Driver SSD1306 connesso tramite I2C. Eredita da
SSD1306.Argomenti:
width– Larghezza del display in pixel.height– Altezza del display in pixel.i2c– Un oggettomachine.I2C(o compatibile) inizializzato.addr– Indirizzo del dispositivo I2C a 7 bit (predefinito0x3C).external_vcc–Trueper VCC esterna,Falseper utilizzare la pompa di carica interna.
- class ssd1306.SSD1306_SPI(width: int, height: int, spi: machine.SPI, dc: machine.Pin, res: machine.Pin, cs: machine.Pin, external_vcc: bool = False)¶
Driver SSD1306 connesso tramite SPI. Eredita da
SSD1306. Utilizza una frequenza di clock SPI fissa di 10 MHz.Argomenti:
width– Larghezza del display in pixel.height– Altezza del display in pixel.spi– Un oggettopyb.SPI(o compatibile).dc– Pin di selezione dati/comando.res– Pin di reset.cs– Pin di selezione del chip.external_vcc–Trueper VCC esterna,Falseper utilizzare la pompa di carica interna.