ssd1306 — Controlador OLED¶
Este módulo proporciona un controlador para pantallas OLED basadas en SSD1306. Se admiten dos variantes de transporte: I2C (SSD1306_I2C) y SPI (SSD1306_SPI). Ambas heredan la API de dibujo de SSD1306, que envuelve un framebuf.FrameBuffer1.
Ejemplo:
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()
Clases¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Clase base para pantallas OLED SSD1306. Las subclases deben inicializar
self.framebufy proporcionar los métodoswrite_cmd,write_data,write_framebufypoweron.Argumentos:
width– Ancho de la pantalla en píxeles.height– Alto de la pantalla en píxeles (debe ser múltiplo de 8).external_vcc–Truesi se utiliza una fuente VCC externa,Falsepara habilitar la bomba de carga interna.
Atributos de instancia:
width– Ancho de la pantalla en píxeles.height– Alto de la pantalla en píxeles.external_vcc– Indicador de VCC externo.pages– Número de páginas de 8 píxeles de alto (height // 8).
- init_display() None¶
Envía la secuencia de comandos de inicialización a la pantalla, borra el framebuffer y lo actualiza. Llamado automáticamente por
__init__.
- contrast(contrast: int) None¶
Establece el contraste de la pantalla.
contrast– Valor de contraste en el rango0–255.
- invert(invert: int) None¶
Invierte los colores de la pantalla.
invert–0para salida normal,1para salida invertida. Solo se utiliza el bit menos significativo.
- fill(col: int) None¶
Rellena todo el framebuffer con un único color.
col– Valor de color (0para apagado,1para encendido).
- pixel(x: int, y: int, col: int) None¶
Establece el color de un solo píxel.
x– Coordenada de columna.y– Coordenada de fila.col– Valor de color (0o1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Controlador SSD1306 conectado por I2C. Hereda de
SSD1306.Argumentos:
width– Ancho de la pantalla en píxeles.height– Alto de la pantalla en píxeles.i2c– Un objetomachine.I2C(o compatible) ya inicializado.addr– Dirección de dispositivo I2C de 7 bits (predeterminado0x3C).external_vcc–Truepara VCC externo,Falsepara usar la 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)¶
Controlador SSD1306 conectado por SPI. Hereda de
SSD1306. Utiliza una frecuencia de reloj SPI fija de 10 MHz.Argumentos:
width– Ancho de la pantalla en píxeles.height– Alto de la pantalla en píxeles.spi– Un objetopyb.SPI(o compatible).dc– Pin de selección de datos/comando.res– Pin de reinicio.cs– Pin de selección de chip.external_vcc–Truepara VCC externo,Falsepara usar la bomba de carga interna.