iT邦幫忙

2026 iThome 鐵人賽

DAY 24
0
自我挑戰組

無硬體也能玩物聯網!使用 Wokwi 模擬器與 MicroPython 打造 30 天 ESP32 實務系列 第 24 篇

情境 3:智能路燈系統——光敏電阻感應 + PIR 人體感應自動亮燈

  • 分享至 

  • xImage
  •  

今日目標
在體驗過倒車雷達與智慧溫室後,今天我們要實作第三個極具節能效益的智慧城市情境——節能智慧路燈系統。
傳統路燈整夜通宵點亮,耗費大量電能;而現代智慧路燈則會結合環境光線與動態偵測來決定發光策略。今天我們將結合之前學過的的光敏電阻與PIR人體紅外線感測器,透過雙重條件邏輯,打造一個「白天自動關閉、黑夜低亮待機、有人經過時瞬間全亮」的智慧省電路燈。

程式碼
import time
from machine import Pin, ADC, PWM

ldr_adc = ADC(Pin(34))
ldr_adc.atten(ADC.ATTN_11DB)

pir_pin = Pin(13, Pin.IN)

street_light = PWM(Pin(18), freq=1000, duty=0)

DARK_THRESHOLD = 2000

print("=== 智慧節能路燈控制系統啟動 ===")

while True:
ldr_value = ldr_adc.read()
pir_state = pir_pin.value()

is_dark = ldr_value > DARK_THRESHOLD

if not is_dark:
    street_light.duty(0)
    status_msg = "白天 (Daytime) -> 路燈關閉 [Off]"
    
else:
    if pir_state == 1:
        street_light.duty(1023)
        status_msg = "夜晚 + 有人經過 -> 全亮模式 [Full Power 100%]"
        time.sleep(5)
    else:
        street_light.duty(200)
        status_msg = "夜晚 + 無人經過 -> 微光待機 [Dim Mode 20%]"

print(f"【LDR 數據: {ldr_value:4d} | PIR: {pir_state}】-> {status_msg}")
time.sleep(0.5)

心得
今天我們學習了如何運用條件鏈結合多種感測器數據來進行階層式控制。這種「白天關燈、夜間微光、動態全亮」的邏輯,正是現代智慧城市與智慧社區極為標準的節能解決方案。


上一篇
情境 2:自動化智慧溫室——DHT22 監測 + OLED 顯示 + 伺服馬達開窗
系列文
無硬體也能玩物聯網!使用 Wokwi 模擬器與 MicroPython 打造 30 天 ESP32 實務 共 24 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言