ssd1306 --- OLED 驅動程式¶
本模組為基於 SSD1306 的 OLED 顯示器提供驅動程式。支援兩種傳輸變體:I2C(SSD1306_I2C)與 SPI(SSD1306_SPI)。兩者皆繼承自 SSD1306 的繪圖 API,後者封裝了 framebuf.FrameBuffer1。
範例::
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()
類別¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
SSD1306 OLED 顯示器的基底類別。子類別必須初始化
self.framebuf,並提供write_cmd、write_data、write_framebuf與poweron方法。引數:
width-- 顯示器寬度(以像素為單位)。height-- 顯示器高度(以像素為單位,必須為 8 的倍數)。external_vcc-- 若使用外部 VCC 電源則為True,若要啟用內部充電泵則為False。
實例屬性:
width-- 顯示器寬度(以像素為單位)。height-- 顯示器高度(以像素為單位)。external_vcc-- 外部 VCC 旗標。pages-- 8 像素高頁面的數量(height // 8)。
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
I2C 連接的 SSD1306 驅動程式。繼承自
SSD1306。引數:
width-- 顯示器寬度(以像素為單位)。height-- 顯示器高度(以像素為單位)。i2c-- 已初始化的machine.I2C(或相容)物件。addr-- 7 位元 I2C 裝置位址(預設為0x3C)。external_vcc--True表示外部 VCC,False表示使用內部充電泵。
- class ssd1306.SSD1306_SPI(width: int, height: int, spi: machine.SPI, dc: machine.Pin, res: machine.Pin, cs: machine.Pin, external_vcc: bool = False)¶
SPI 連接的 SSD1306 驅動程式。繼承自
SSD1306。使用固定的 10 MHz SPI 時脈速率。引數:
width-- 顯示器寬度(以像素為單位)。height-- 顯示器高度(以像素為單位)。spi-- 一個pyb.SPI(或相容)物件。dc-- 資料/命令選擇接腳。res-- 重置接腳。cs-- 晶片選擇接腳。external_vcc--True表示外部 VCC,False表示使用內部充電泵。