from machine import Pin, PWM
import time
import dht
# 定義紅色LED和蜂鳴器的Pin
led_pin = Pin(22, Pin.OUT)
buzzer_pin = Pin(32, Pin.OUT)
# 定義蜂鳴器的PWM
buzzer_pwm = PWM(buzzer_pin)
# 定義DHT22感測器的Pin
dht_pin = Pin(25, Pin.IN) # 這裡假設DHT22的資料線(data line)連接到Pin 4
# 定義亮暗的時間
on_time = 2000 # 2秒
off_time = 2000 # 2秒
# DHT22感測器物件
dht_sensor = dht.DHT22(dht_pin)
# 連續執行5次
for _ in range(5):
# 讀取溫濕度數值
dht_sensor.measure()
temperature = dht_sensor.temperature()
humidity = dht_sensor.humidity()
# 檢查溫濕度是否超過閾值
if temperature > 30 or humidity > 90:
# 亮起紅色LED
led_pin.value(1)
# 同步發出蜂鳴器聲音
buzzer_pwm.duty(512) # 設定PWM的占空比,0-1023之間
time.sleep_ms(on_time)
# 關閉紅色LED
led_pin.value(0)
# 關閉蜂鳴器聲音
buzzer_pwm.duty(0)
time.sleep_ms(off_time)
else:
# 如果條件未滿足,等待一段時間再繼續檢查
time.sleep(2)
# 清理蜂鳴器PWM資源
buzzer_pwm.deinit()