今日目標
今天要使用光敏電阻模組,透過ESP32的ADC讀取環境光線強度,當偵測到環境變暗時,自動點亮LED燈,模擬路燈或夜燈的「夜間自動點燈」機制。
程式碼
import time
from machine import Pin, ADC
led = Pin(2, Pin.OUT)
ldr = ADC(Pin(34))
ldr.atten(ADC.ATTN_11DB)
NIGHT_THRESHOLD = 2000
print("=== 夜間自動點燈感應系統啟動 ===")
while True:
light_val = ldr.read()
darkness_pct = (light_val / 4095) * 100
if light_val > NIGHT_THRESHOLD:
led.value(1)
status = "【黑夜 Mode】光線過暗 -> 開啟照明 LED"
else:
led.value(0)
status = "【白天 Mode】光線充足 -> 關閉照明 LED"
print(f"光線感測值:{light_val:4d}(昏暗度:{darkness_pct:4.1f}%)|{status}")
time.sleep(1)
心得
今天把單純的ADC訊號結合邏輯判斷,做出了一個具有實用價值的「智慧夜燈」原型。這種「感測數據>條件觸發>硬體響應」的架構就是物聯網應用的核心邏輯。