ssd1306 --- Driver OLED¶
Modul ini menyediakan driver untuk layar OLED berbasis SSD1306. Dua varian transport yang didukung: I2C (SSD1306_I2C) dan SPI (SSD1306_SPI). Keduanya mewarisi API gambar dari SSD1306, yang membungkus framebuf.FrameBuffer1.
Contoh:
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()
Kelas¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
Kelas dasar untuk layar OLED SSD1306. Subkelas harus menginisialisasi
self.framebufdan menyediakan metodewrite_cmd,write_data,write_framebuf, danpoweron.Argumen:
width-- Lebar layar dalam piksel.height-- Tinggi layar dalam piksel (harus kelipatan 8).external_vcc--Truejika sumber VCC eksternal digunakan,Falseuntuk mengaktifkan pompa muatan internal.
Atribut instans:
width-- Lebar layar dalam piksel.height-- Tinggi layar dalam piksel.external_vcc-- Flag VCC eksternal.pages-- Jumlah halaman setinggi 8 piksel (height // 8).
- init_display() None¶
Kirim urutan perintah inisialisasi ke layar, bersihkan buffer bingkai, dan segarkan. Dipanggil otomatis oleh
__init__.
- invert(invert: int) None¶
Balikkan warna layar.
invert--0untuk keluaran normal,1untuk keluaran terbalik. Hanya bit paling tidak signifikan yang digunakan.
- fill(col: int) None¶
Isi seluruh buffer bingkai dengan satu warna.
col-- Nilai warna (0untuk mati,1untuk menyala).
- pixel(x: int, y: int, col: int) None¶
Atur warna satu piksel.
x-- Koordinat kolom.y-- Koordinat baris.col-- Nilai warna (0atau1).
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
Driver SSD1306 terhubung I2C. Mewarisi dari
SSD1306.Argumen:
width-- Lebar layar dalam piksel.height-- Tinggi layar dalam piksel.i2c-- Objekmachine.I2C(atau yang kompatibel) yang telah diinisialisasi.addr-- Alamat perangkat I2C 7-bit (default0x3C).external_vcc--Trueuntuk VCC eksternal,Falseuntuk menggunakan pompa muatan internal.
- 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 terhubung SPI. Mewarisi dari
SSD1306. Menggunakan kecepatan clock SPI tetap 10 MHz.Argumen:
width-- Lebar layar dalam piksel.height-- Tinggi layar dalam piksel.spi-- Objekpyb.SPI(atau yang kompatibel).dc-- Pin pemilih data/perintah.res-- Pin reset.cs-- Pin chip-select.external_vcc--Trueuntuk VCC eksternal,Falseuntuk menggunakan pompa muatan internal.