Fix oled screen
This commit is contained in:
@@ -2,24 +2,34 @@ from machine import Pin, SoftI2C
|
|||||||
from ssd1306 import SSD1306_I2C
|
from ssd1306 import SSD1306_I2C
|
||||||
import time
|
import time
|
||||||
|
|
||||||
class Screen :
|
class Screen:
|
||||||
|
|
||||||
sda = None
|
sda = None
|
||||||
scl = None
|
scl = None
|
||||||
rst = None
|
rst = None
|
||||||
oled = None
|
oled = None
|
||||||
|
|
||||||
def __init__(self) :
|
def __init__(self):
|
||||||
self.sda = Pin(17)
|
self.sda = Pin(17)
|
||||||
self.scl = Pin(18)
|
self.scl = Pin(18)
|
||||||
self.rst = Pin(21, Pin.OUT)
|
self.rst = Pin(21, Pin.OUT)
|
||||||
self.oled = SSD1306_I2C(
|
|
||||||
|
self.__reset_oled() # reset first
|
||||||
|
|
||||||
|
self.oled = SSD1306_I2C(
|
||||||
128,
|
128,
|
||||||
64,
|
64,
|
||||||
SoftI2C(scl=self.scl, sda=self.sda, freq=100000),
|
SoftI2C(scl=self.scl, sda=self.sda, freq=100000),
|
||||||
addr=0x3C
|
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):
|
def reset(self):
|
||||||
self.oled.fill(0)
|
self.oled.fill(0)
|
||||||
@@ -28,9 +38,3 @@ class Screen :
|
|||||||
def display(self, message, col, row):
|
def display(self, message, col, row):
|
||||||
self.oled.text(message, col, row)
|
self.oled.text(message, col, row)
|
||||||
self.oled.show()
|
self.oled.show()
|
||||||
|
|
||||||
def __prepare(self):
|
|
||||||
self.rst.value(0)
|
|
||||||
time.sleep_ms(150)
|
|
||||||
self.rst.value(1)
|
|
||||||
time.sleep_ms(150)
|
|
||||||
Reference in New Issue
Block a user