Python 新手,开始接触 DHT11 温度/湿度传感器、Raspberry Pi 3 和 Python 3。
我正在使用标准Adafruit DHT11 库 https://github.com/adafruit/Adafruit_Python_DHT对于Python。
从 GPIO 27 读取
我可以在 GUI 窗口中很好地显示温度。我所困扰的是如何让 GUI 以设定的速率更新/刷新温度,以便它是当前温度的“实时”显示。现在,如果我关闭并重新打开脚本,我只能从 GUI 中获取更改。请参阅下面的我的代码:
from tkinter import *
import tkinter.font
import Adafruit_DHT
temp = 0
win = Tk()
win.title("Temperature")
win.geometry("100x100")
def READ():
global temp
humidity, temperature = Adafruit_DHT.read_retry(11, 27)
temp = temperature * 9/5.0 + 32
Label (win, text=str(temp), fg="black", bg="white", font="36").grid(row=0, column=0)
if (temp >= 0):
READ()
mainloop()
创建Label
在程序开始时一次,并保存参考:
the_label = Label (win, text="", fg="black", bg="white", font="36")
the_label.grid(row=0, column=0)
接下来,创建一个获取值并更新标签的函数:
def READ():
global temp
humidity, temperature = Adafruit_DHT.read_retry(11, 27)
temp = temperature * 9/5.0 + 32
the_label.configure(text=str(temp))
接下来,创建一个调用该函数的新函数,然后安排自己在延迟后再次调用:
def read_every_second():
READ()
root.after(1000, read_every_second)
最后,打电话read_every_second
在程序开始时一次。然后它将运行直到您的程序退出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)