ssd1306 — OLED-ohjain

Tämä moduuli tarjoaa ohjaimen SSD1306-pohjaisille OLED-näytöille. Kahta siirtotapaa tuetaan: I2C (SSD1306_I2C) ja SPI (SSD1306_SPI). Molemmat perivät piirtämisen API:n luokalta SSD1306, joka kapseloi luokan framebuf.FrameBuffer1.

Esimerkki:

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()

Luokat

class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)

SSD1306-OLED-näyttöjen perusluokka. Aliluokkien on alustettava self.framebuf ja tarjottava metodit write_cmd, write_data, write_framebuf ja poweron.

Argumentit:

  • width – Näytön leveys pikseleinä.

  • height – Näytön korkeus pikseleinä (oltava kahdeksan monikerta).

  • external_vccTrue, jos käytetään ulkoista VCC-lähdettä, False, jotta sisäinen varauspumppu otetaan käyttöön.

Ilmentymän attribuutit:

  • width – Näytön leveys pikseleinä.

  • height – Näytön korkeus pikseleinä.

  • external_vcc – Ulkoisen VCC:n lippu.

  • pages – Kahdeksan pikselin korkuisten sivujen määrä (height // 8).

init_display() None

Lähettää näytölle alustuskomentojen sarjan, tyhjentää kehyspuskurin ja päivittää näytön. __init__ kutsuu tätä automaattisesti.

poweroff() None

Sammuttaa näytön (lepotila).

contrast(contrast: int) None

Asettaa näytön kontrastin.

  • contrast – Kontrastiarvo alueella 0255.

invert(invert: int) None

Kääntää näytön värit.

  • invert0 normaalille ulostulolle, 1 käännetylle ulostulolle. Vain vähiten merkitsevää bittiä käytetään.

show() None

Siirtää sisäisen kehyspuskurin sisällön näytölle.

fill(col: int) None

Täyttää koko kehyspuskurin yhdellä värillä.

  • col – Väriarvo (0 pois päältä, 1 päällä).

pixel(x: int, y: int, col: int) None

Asettaa yksittäisen pikselin värin.

  • x – Sarakkeen koordinaatti.

  • y – Rivin koordinaatti.

  • col – Väriarvo (0 tai 1).

scroll(dx: int, dy: int) None

Siirtää kehyspuskurin sisältöä annetuilla siirtymillä. Rajojen ulkopuolelle siirtyneet pikselit menetetään; vapautuneet pikselit jätetään koskemattomiksi.

  • dx – Vaakasuuntainen siirtymä pikseleinä.

  • dy – Pystysuuntainen siirtymä pikseleinä.

text(string: str, x: int, y: int, col: int = 1) None

Piirtää merkkijonon sisäänrakennetulla 8x8-fontilla.

  • string – Piirrettävä teksti.

  • x – Aloitussarakkeen koordinaatti.

  • y – Aloitusrivin koordinaatti.

  • col – Etualan väri (oletus 1).

class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)

I2C-liitäntäinen SSD1306-ohjain. Perii luokalta SSD1306.

Argumentit:

  • width – Näytön leveys pikseleinä.

  • height – Näytön korkeus pikseleinä.

  • i2c – Alustettu machine.I2C-objekti (tai yhteensopiva).

  • addr – 7-bittinen I2C-laiteosoite (oletus 0x3C).

  • external_vccTrue ulkoiselle VCC:lle, False sisäisen varauspumpun käyttämiseksi.

write_cmd(cmd: int) None

Lähettää näytölle yhden komentotavun I2C:n kautta.

write_data(buf: bytes) None

Lähettää näytölle pikselidatapuskurin I2C:n kautta.

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-liitäntäinen SSD1306-ohjain. Perii luokalta SSD1306. Käyttää kiinteää 10 MHz:n SPI-kellotaajuutta.

Argumentit:

  • width – Näytön leveys pikseleinä.

  • height – Näytön korkeus pikseleinä.

  • spipyb.SPI-objekti (tai yhteensopiva).

  • dc – Datan/komennon valintanasta.

  • res – Nollausnasta.

  • cs – Sirun valintanasta.

  • external_vccTrue ulkoiselle VCC:lle, False sisäisen varauspumpun käyttämiseksi.

write_cmd(cmd: int) None

Lähettää näytölle yhden komentotavun SPI:n kautta.

write_framebuf() None

Siirtää koko kehyspuskurin näytölle SPI:n kautta.

poweron() None

Vaihtaa nollauslinjan tilaa näytön käynnistämiseksi.

Vakiot

ssd1306.SET_CONTRAST: int

Komento 0x81 – aseta näytön kontrasti.

ssd1306.SET_ENTIRE_ON: int

Komento 0xA4 – jatka näyttöä RAM-sisällöstä.

ssd1306.SET_NORM_INV: int

Komento 0xA6 – normaalin/käänteisen näytön valinta.

ssd1306.SET_DISP: int

Komento 0xAE – näyttö päälle/pois.

ssd1306.SET_MEM_ADDR: int

Komento 0x20 – muistin osoitustila.

ssd1306.SET_COL_ADDR: int

Komento 0x21 – sarakeosoitealue.

ssd1306.SET_PAGE_ADDR: int

Komento 0x22 – sivuosoitealue.

ssd1306.SET_DISP_START_LINE: int

Komento 0x40 – näytön aloitusrivi.

ssd1306.SET_SEG_REMAP: int

Komento 0xA0 – segmentin uudelleenkartoitus.

ssd1306.SET_MUX_RATIO: int

Komento 0xA8 – multipleksisuhde.

ssd1306.SET_COM_OUT_DIR: int

Komento 0xC0 – COM-ulostulon skannaussuunta.

ssd1306.SET_DISP_OFFSET: int

Komento 0xD3 – näytön siirtymä.

ssd1306.SET_COM_PIN_CFG: int

Komento 0xDA – COM-nastojen laitteistokokoonpano.

ssd1306.SET_DISP_CLK_DIV: int

Komento 0xD5 – näytön kellon jakosuhde / oskillaattorin taajuus.

ssd1306.SET_PRECHARGE: int

Komento 0xD9 – esilatausjakso.

ssd1306.SET_VCOM_DESEL: int

Komento 0xDB – VCOMH-poistovalintataso.

ssd1306.SET_CHARGE_PUMP: int

Komento 0x8D – varauspumpun kokoonpano.