ssd1306 — Sterownik OLED¶
Ten moduł udostępnia sterownik dla wyświetlaczy OLED opartych na układzie SSD1306. Obsługiwane są dwa warianty transmisji: I2C (SSD1306_I2C) oraz SPI (SSD1306_SPI). Oba dziedziczą interfejs rysowania z klasy SSD1306, która opakowuje obiekt framebuf.FrameBuffer1.
Przykład:
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()
Klasy¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Klasa bazowa dla wyświetlaczy OLED SSD1306. Podklasy muszą zainicjalizować
self.framebuforaz udostępniać metodywrite_cmd,write_data,write_framebufipoweron.Argumenty:
width– Szerokość wyświetlacza w pikselach.height– Wysokość wyświetlacza w pikselach (musi być wielokrotnością 8).external_vcc–True, jeśli używane jest zewnętrzne źródło VCC,False, aby włączyć wewnętrzną pompę ładunkową.
Atrybuty instancji:
width– Szerokość wyświetlacza w pikselach.height– Wysokość wyświetlacza w pikselach.external_vcc– Flaga zewnętrznego VCC.pages– Liczba stron o wysokości 8 pikseli (height // 8).
- init_display() None¶
Wysyła do wyświetlacza sekwencję poleceń inicjalizacyjnych, czyści bufor ramki i odświeża wyświetlacz. Wywoływana automatycznie przez
__init__.
- contrast(contrast: int) None¶
Ustawia kontrast wyświetlacza.
contrast– Wartość kontrastu w zakresie0–255.
- invert(invert: int) None¶
Odwraca kolory wyświetlacza.
invert–0dla normalnego wyjścia,1dla wyjścia odwróconego. Używany jest tylko najmniej znaczący bit.
- fill(col: int) None¶
Wypełnia cały bufor ramki jednym kolorem.
col– Wartość koloru (0– wyłączony,1– włączony).
- pixel(x: int, y: int, col: int) None¶
Ustawia kolor pojedynczego piksela.
x– Współrzędna kolumny.y– Współrzędna wiersza.col– Wartość koloru (0lub1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Sterownik SSD1306 podłączany przez I2C. Dziedziczy z klasy
SSD1306.Argumenty:
width– Szerokość wyświetlacza w pikselach.height– Wysokość wyświetlacza w pikselach.i2c– Zainicjalizowany obiektmachine.I2C(lub kompatybilny).addr– 7-bitowy adres urządzenia I2C (domyślnie0x3C).external_vcc–Truedla zewnętrznego VCC,Falseaby użyć wewnętrznej pompy ładunkowej.
- class ssd1306.SSD1306_SPI(width: int, height: int, spi: machine.SPI, dc: machine.Pin, res: machine.Pin, cs: machine.Pin, external_vcc: bool = False)¶
Sterownik SSD1306 podłączany przez SPI. Dziedziczy z klasy
SSD1306. Używa stałej częstotliwości zegara SPI równej 10 MHz.Argumenty:
width– Szerokość wyświetlacza w pikselach.height– Wysokość wyświetlacza w pikselach.spi– Obiektpyb.SPI(lub kompatybilny).dc– Pin wyboru danych/polecenia.res– Pin resetu.cs– Pin wyboru układu (chip-select).external_vcc–Truedla zewnętrznego VCC,Falseaby użyć wewnętrznej pompy ładunkowej.