#引入相关模块
from machine import Pin, SoftI2C, Timer
from ssd1306 import SSD1306_I2C
import time, onewire, ds18x20
 #初始化相关模块
i2c = SoftI2C(scl=Pin(12), sda=Pin(14))
from ssd1306 import SSD1306_I2C
oled = SSD1306_I2C(128, 64, i2c, addr = 0x3c)
 #初始化DS18B20,构建单总线对象
ow = onewire.OneWire(Pin(4))
ds = ds18x20.DS18X20(ow)
rom = ds.scan() #扫描单总线上的传感器地址
led_r = Pin(21, Pin.OUT)
led_g = Pin(22, Pin.OUT)
led_b = Pin(23, Pin.OUT)

def temp_get(tim):
    ds.convert_temp() #温度转化
    temp = ds.read_temp(rom[0])
    oled.fill(0)
    oled.text(str('%.2f'%temp), 50,40)
    oled.show()
    if temp > 30:
        led_r.value(1)
        led_g.value(0)
        led_b.value(0)
    else:
        led_r.value(0)
        led_g.value(0)
        led_b.value(1)
tim = Timer(1)
tim.init(period = 300, mode= Timer.PERIODIC, callback=temp_get)