forked from momorara/mimamoriPico
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SSD1306_m.py
88 lines (74 loc) · 2.08 KB
/
SSD1306_m.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
"""
2023/05/10
2023/05/21 OLED 焼き付け防止
v1.0
2023/08/22 mimamori用に改造
"""
import time
from machine import Pin, I2C
import ssd1306
import config
import random
def OLED(CPU_temp,Cds,human,SW=0):
try:
i2c_no,SDA_pin = config.i2c_ini()
# I2Cバスを設定
i2c = I2C(i2c_no, sda=Pin(SDA_pin) ,scl=Pin(SDA_pin+1))
# OLEDディスプレイの設定
try:
oled = ssd1306.SSD1306_I2C(128, 32, i2c)
except:
pass
# OLEDディスプレイをクリア
oled.fill(0)
sp = ' '
if CPU_temp < 10 :sp = sp + ' '
temp_s = 'temp = ' + sp + str(CPU_temp)
if Cds != 100:
if Cds < 10:
Cds_s = 'Cds = ' + str(Cds)
else:
Cds_s = 'Cds = ' + str(Cds)
else:
Cds_s = 'Cds = 100.0 '
sw_s =" sw:off"
if SW > 0:sw_s =" sw:on"
human_s = 'human:' + str(human) + sw_s
set_x = random.randint(0,17)
set_y = random.randint(0, 1)
set_z = random.randint(0, 1)
# テキストを描画
oled.text(temp_s, set_x, set_y + 0 + set_z)
oled.text(Cds_s, set_x, set_y + 12 - set_z)
oled.text(human_s, set_x, set_y + 24 - set_z *2)
# 変更を表示
oled.show()
except:
pass
def OLED_mes(mes):
try:
i2c_no,SDA_pin = config.i2c_ini()
# I2Cバスを設定
i2c = I2C(i2c_no, sda=Pin(SDA_pin) ,scl=Pin(SDA_pin+1))
# OLEDディスプレイの設定
try:
oled = ssd1306.SSD1306_I2C(128, 32, i2c)
except:
pass
# OLEDディスプレイをクリア
oled.fill(0)
# メッセージを書き込み
oled.text(mes, 5, 12)
# 変更を表示
oled.show()
except:
pass
def main():
temp,humdy,press,sw = 24.8,88,1,0
OLED(temp,humdy,press,sw)
time.sleep(5)
OLED_mes("test")
time.sleep(3)
OLED_mes("")
if __name__=='__main__':
main()