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()