import dht
import machine
import time
DHT_PIN=14
def read_sensor_data():
"""读取DHT22传感器数据"""
sensor=dht.DHT22(machine.Pin(DHT_PIN))
try:
sensor.measure()
temperature=sensor.temperature()
humidity=sensor.humidity()
return temperature,humidity
except OSError as e:
print(f"传感器读取错误:{e}")
return None,None
def display_data(temperature,humidity):
"""格式化并显示温湿度数据"""
if temperature is not None and humidity is not None:
print(f"温度:{temperature}°C|湿度:{humidity}%")
else:
print("无法获取传感器数据")
def main():
"""主函数,程序入口点"""
print("DHT22温湿度监控系统启动...")
try:
while True:
#读取传感器数据
temperature,humidity=read_sensor_data()
#显示数据
display_data(temperature,humidity)
#等待2秒(DHT22最小采样间隔)
time.sleep(2)
except KeyboardInterrupt:
print("\n程序已停止")
except Exception as e:
print(f"发生错误:{e}")
if __name__=="__main__":
main()