import machine
import dht
import time
# 初始化 DHT22 感測器
dht_sensor = dht.DHT22(machine.Pin(14)) # 請根據實際連接的 GPIO 腳位修改
# 初始化蜂鳴器的 GPIO 腳位
buzzer_pin = machine.Pin(25, machine.Pin.OUT) # 請根據實際連接的 GPIO 腳位修改
def read_temperature_humidity():
dht_sensor.measure()
temperature = dht_sensor.temperature()
humidity = dht_sensor.humidity()
return temperature, humidity
def activate_alarm():
print("Alert: Temperature or humidity is too high!")
# 觸發蜂鳴器
buzzer_pin.on()
time.sleep(5) # 讓警報持續 5 秒
# 關閉蜂鳴器
buzzer_pin.off()
def main():
try:
while True:
temperature, humidity = read_temperature_humidity()
print("Temperature:", temperature, "°C")
print("Humidity:", humidity, "%")
if temperature > 30 or humidity > 90:
activate_alarm()
time.sleep(60) # 每分鐘檢查一次溫度和濕度
except KeyboardInterrupt:
print("Program terminated.")
if __name__ == "__main__":
main()