ssd1306 — Driver OLED¶
Este módulo fornece um driver para displays OLED baseados no SSD1306. Há suporte a duas variantes de transporte: I2C (SSD1306_I2C) e SPI (SSD1306_SPI). Ambas herdam a API de desenho de SSD1306, que encapsula um framebuf.FrameBuffer1.
Exemplo:
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()
Classes¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Classe base para displays OLED SSD1306. As subclasses devem inicializar
self.framebufe fornecer os métodoswrite_cmd,write_data,write_framebufepoweron.Argumentos:
width– Largura do display em pixels.height– Altura do display em pixels (deve ser múltiplo de 8).external_vcc–Truese uma fonte VCC externa for utilizada,Falsepara habilitar a bomba de carga interna.
Atributos de instância:
width– Largura do display em pixels.height– Altura do display em pixels.external_vcc– Flag de VCC externo.pages– Número de páginas de 8 pixels de altura (height // 8).
- init_display() None¶
Envia a sequência de comandos de inicialização ao display, limpa o framebuffer e atualiza-o. Chamado automaticamente por
__init__.
- contrast(contrast: int) None¶
Define o contraste do display.
contrast– Valor de contraste na faixa de0a255.
- invert(invert: int) None¶
Inverte as cores do display.
invert–0para saída normal,1para saída invertida. Apenas o bit menos significativo é utilizado.
- fill(col: int) None¶
Preenche todo o framebuffer com uma única cor.
col– Valor de cor (0para apagado,1para aceso).
- pixel(x: int, y: int, col: int) None¶
Define a cor de um único pixel.
x– Coordenada da coluna.y– Coordenada da linha.col– Valor de cor (0ou1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Driver SSD1306 conectado via I2C. Herda de
SSD1306.Argumentos:
width– Largura do display em pixels.height– Altura do display em pixels.i2c– Um objetomachine.I2C(ou compatível) já inicializado.addr– Endereço I2C do dispositivo de 7 bits (padrão0x3C).external_vcc–Truepara VCC externo,Falsepara usar a bomba de carga 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 conectado via SPI. Herda de
SSD1306. Usa uma taxa de clock SPI fixa de 10 MHz.Argumentos:
width– Largura do display em pixels.height– Altura do display em pixels.spi– Um objetopyb.SPI(ou compatível).dc– Pino de seleção de dados/comando.res– Pino de reset.cs– Pino de chip-select.external_vcc–Truepara VCC externo,Falsepara usar a bomba de carga interna.