ssd1306 — Driver OLED¶
Acest modul oferă un driver pentru afișajele OLED bazate pe SSD1306. Sunt acceptate două variante de transport: I2C (SSD1306_I2C) și SPI (SSD1306_SPI). Ambele moștenesc API-ul de desenare de la SSD1306, care încapsulează un framebuf.FrameBuffer1.
Exemplu:
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()
Clase¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Clasă de bază pentru afișajele OLED SSD1306. Subclasele trebuie să inițializeze
self.framebufși să furnizeze metodelewrite_cmd,write_data,write_framebufșipoweron.Argumente:
width– Lățimea afișajului în pixeli.height– Înălțimea afișajului în pixeli (trebuie să fie multiplu de 8).external_vcc–Truedacă se utilizează o sursă VCC externă,Falsepentru a activa pompa de sarcină internă.
Atribute de instanță:
width– Lățimea afișajului în pixeli.height– Înălțimea afișajului în pixeli.external_vcc– Indicator pentru VCC extern.pages– Numărul de pagini cu înălțimea de 8 pixeli (height // 8).
- init_display() None¶
Trimite secvența de comenzi de inițializare către afișaj, șterge tamponul de cadre și reîmprospătează. Apelată automat de
__init__.
- contrast(contrast: int) None¶
Setează contrastul afișajului.
contrast– Valoarea contrastului în intervalul0–255.
- invert(invert: int) None¶
Inversează culorile afișajului.
invert–0pentru ieșire normală,1pentru ieșire inversată. Se utilizează doar bitul cel mai puțin semnificativ.
- fill(col: int) None¶
Umple întregul tampon de cadre cu o singură culoare.
col– Valoarea culorii (0pentru stins,1pentru aprins).
- pixel(x: int, y: int, col: int) None¶
Setează culoarea unui singur pixel.
x– Coordonata coloanei.y– Coordonata rândului.col– Valoarea culorii (0sau1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Driver SSD1306 conectat prin I2C. Moștenește de la
SSD1306.Argumente:
width– Lățimea afișajului în pixeli.height– Înălțimea afișajului în pixeli.i2c– Un obiectmachine.I2C(sau compatibil) inițializat.addr– Adresa I2C de 7 biți a dispozitivului (implicit0x3C).external_vcc–Truepentru VCC extern,Falsepentru a utiliza pompa de sarcină internă.
- 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 conectat prin SPI. Moștenește de la
SSD1306. Utilizează o frecvență de ceas SPI fixă de 10 MHz.Argumente:
width– Lățimea afișajului în pixeli.height– Înălțimea afișajului în pixeli.spi– Un obiectpyb.SPI(sau compatibil).dc– Pinul de selecție date/comandă.res– Pinul de resetare.cs– Pinul de selecție a cipului.external_vcc–Truepentru VCC extern,Falsepentru a utiliza pompa de sarcină internă.