Gubernatiō tabulæ SBC-OLED-IV2 per RaspberryPi Pico sine modulō SSD1306.py
Haec pāgina mōnstrat quōmodo textum in tabulā SBC-OLED-I2V ostendātur sine modulō SSD1306.py. Quod permittit intellegere quōmodo displayum in gradū inferiorī gubernētur
Administratiō monitoriī duōbus scrīptīs in MicroPython scrīptīs opus habet :
- ostendumTextum.py : hoc est scrīptum prīncipāle
- font8x8.py : modulus est ad ostendendōs characterēs commūnēs atque specialēs
Dēscriptiō scrīptī ostendumTextum.py
Cum RaspberryPi Pico et prōtocollō I2C ūtimur, dēbēmus modulōs idōneōs importāre
from machine import Pin, I2C
from font8x8 import font8x8
# Initium I2C
i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=400000)
oled_addr = 0x3C # Inscriptio interna OLED
i2c = I2C(0, .... significat quod ūtimur bus 0
0x3C est īnscrptiō interna modulī OLED
# Creatiō mēmoriae tampondī (bufferī) ad retinendum displayum (1024 octetōrum)
buffer = bytearray(1024)
# Fūnctiō ad mittendum mandātum ad monitorium
def oled_cmd(cmd):
i2c.writeto(oled_addr, b'\x00' + bytes([cmd]))
b'\x00' indicat mandātum ā nōbis trānsmittendum esse
# Fūnctiō ad trānsferenda dāta ad tabulam OLED in mōle
def oled_data(data):
i2c.writeto(oled_addr, b'\x40' + data) # Missiō collēctīva
b'\x00' indicat data ā nōbis trānsmitenda esse
# Initiun (initializātiō) ostentiōnis
def init_oled():
cmds = [
0xAE, # Ostentātiōnem exstinguere
0xD5, 0x80, # Mandātum 0xD5 sequēns 0x80 dīvīsōrem hōrologiī ostenti SSD1306 cōnfīcit.
0xA8, 0x3F, # Multiplexor (LXIV lineæ)
0xD3, 0x00, # Discrepantia verticālis
0x40, # Début de ligne
0x8D, 0x14, # Activer la charge de pompe
0x20, 0x00, # Mode d'adresse horizontale
0xA1, # Inverser horizontalement
0xC8, # Inverser verticalement
0xDA, 0x12, # Configuration des broches
0x81, 0xCF, # Contraste
0xD9, 0xF1, # Précharge
0xDB, 0x40, # Configuration du VCOM
0xA4, # Affichage normal
0xA6, # Pas d'inversion
0xAF # Ostentātiōnem illūmināre
]
for cmd in cmds:
oled_cmd(cmd)