from machine import Pin
from machine import Timer
import ds18x20
import onewire
import tm1637
import time
buzzer = Pin(23)
temp_threshold = 28
smg =tm1637.TM1637(clk=Pin(19),dio=Pin(18),brightness=7)
ow = onewire.OneWire(Pin(16))
ds = ds18x20.DS18X20(ow)
def read_temp():
roms = ds.scan()
print('发现设备:',roms)
ds.convert_temp()
for rom in roms:
temp = ds.read_temp(rom)
if isinstance(temp,float):
temp = round(temp,2)
return temp
return 0
def display():
smg.temperature(int(read_temp()))
time.sleep_ms(500)
print("此时的环境温度为:%.2f"%read_temp(),r"℃")
def main():
while True:
display()
temp = read_temp()
if temp > temp_threshold:
buzzer.value(1)
time.sleep(1)
buzzer.value(0)
else:
buzzer.value(0)
time.sleep(2)
pass