Fix oled screen

This commit is contained in:
2025-12-25 02:08:59 +01:00
parent fbf32db501
commit aa0fe4def8

View File

@@ -2,24 +2,34 @@ from machine import Pin, SoftI2C
from ssd1306 import SSD1306_I2C
import time
class Screen :
class Screen:
sda = None
scl = None
rst = None
oled = None
def __init__(self) :
def __init__(self):
self.sda = Pin(17)
self.scl = Pin(18)
self.rst = Pin(21, Pin.OUT)
self.oled = SSD1306_I2C(
self.__reset_oled() # reset first
self.oled = SSD1306_I2C(
128,
64,
SoftI2C(scl=self.scl, sda=self.sda, freq=100000),
addr=0x3C
)
self.__prepare()
self.reset() # clear screen
def __reset_oled(self):
self.rst.value(0)
time.sleep_ms(150)
self.rst.value(1)
time.sleep_ms(150)
def reset(self):
self.oled.fill(0)
@@ -28,9 +38,3 @@ class Screen :
def display(self, message, col, row):
self.oled.text(message, col, row)
self.oled.show()
def __prepare(self):
self.rst.value(0)
time.sleep_ms(150)
self.rst.value(1)
time.sleep_ms(150)