from machine import Pin,SoftI2C,Timer
from ssd1306 import ssd1306_I2C
import onewire,ds18x20,time

i2c = SoftI2C(sda=Pin(14),scl=Pin(12))
from ssd1306 import ssd1306_I2C
oled = SSD1306_I2C(128,64,i2c,addr=0x3c)
#初始化DS18B20
OW = onewire.OneWire(Pin(19))
ds = ds18x20.DS18x20(ow)
rom = ds.scan()
led_r = Pin(23,Pin.OUT)
led_g = Pin(22,Pin.OUT)
led_b = Pin(21,Pin.OUT)
ds.convert_temp()
def temp_get(tim):
    ds.convert_temp()
    temp = ds.read temp(rom[0])
    oled.fill(0)
    oled text('Temp test:',0,20)
    oled text(str('%.2f'%temp),0,40)
    oled.show()
    if temp > 30:
        led_b.value(0)
        led_r.value(1)
        led_g.value(1)
    else:
        led_b.value(1)
        led_r.value(0)
        led_g.value(1)
tim = Timer(1)
tim.init(period = 1000,mode = Timer.PERIODIC,callback=temp_get)

Loading
ssd1306
Loading
ds18b20
Loading
ds18b20
Loading
ds18b20