話説緣由 一個追光系統説起.......
Q:這圖裡的LDR可否改用焦電型PIR來取代A:不建議直接取代。
圖片中的電路是一個基於雙運放(或類似放大器 IC,圖中標示為 TDA2822 的變形應用)的自動太陽追蹤器(Automatic Sunlight Tracker)。如果直接把 LDR(光敏電阻)換成 PIR(焦電型人體紅外線感測器),電路將無法正常工作。
1. 工作原理與感應目標不同
- LDR(光敏電阻):感應的是可見光強度。它能持續輸出與光照度成正比的電阻值,讓電路比較兩側光線,驅動馬達轉向較亮的地方(太陽)。
- PIR(焦電型感測器):感應的是動態的紅外線輻射變化(如人體或動物走過)。它只能偵測「移動中的熱源」,對於靜態、緩慢移動的太陽或固定的光源沒有反應。
2. 輸出訊號類型不同
- LDR:屬於類比阻值變化。在圖中它與 10k 電阻串聯形成分壓電路,直接提供一個連續變化的電壓給 IC 的輸入端(IN)來控制馬達。
- PIR:其核心元件(如常見的 RE200B)輸出的微弱電荷訊號必須經過高倍率的濾波與放大電路,最後通常只輸出「有/無(High/Low)」的數位脈衝訊號,無法直接放入圖中的分壓電路。
3. 如果您想實現不同的功能,可以參考以下調整:
- 如果您仍想做「太陽追蹤」:必須繼續使用 LDR(光敏電阻)或光電二極體(Photodiode),因為只有它們能感應可見光強度的連續變化。
- 如果您想做「感應到人,馬達就轉動」:
- 不能直接拔掉 LDR 換 PIR。
- 您需要購買整合好的 PIR 感測模組(如 HC-SR501)。
- 將 PIR 模組的輸出端(OUT)接到一個電晶體(如 NPN 三極體或 MOSFET)的基極/閘極,用來控制馬達電源的通斷。
HC-SR501 它是「PIR 人體紅外線感應模組」。
1. HC-SR501 的真實身份:被動式紅外線(PIR)
- 原理:屬於被動式感應(Passive Infrared)。它自己不會發射任何波,而是純粹接收並偵測人體或熱源發出的紅外線熱能變化。
- 外觀特徵:最明顯的特徵是表面有一個白色的半球形塑膠罩(菲涅爾透鏡,Fresnel lens),用來聚焦紅外線訊號。 [1, 2, 3, 4]
2. 什麼才是「微波感應模組」?
- 常見型號:如 RCWL-0516 或 HLK-LD2410(毫米波雷達)。
- 原理:屬於主動式感應。它會主動發射微波(如 2.4GHz 或 5.8GHz / 24GHz 雷達波),並透過多普勒效應(Doppler Effect)接收回波,可隔牆壁,木板,塑膠,來偵測是否有物體移動。
方案一:使用 Arduino 控制伺服馬達(最推薦、寫程式最簡單)
這是有 8 組感測器時,實作最快、最不燒腦的方案。因為如果純用電子零件(像原圖的 IC),要比較 8 組訊號的邏輯電路會非常龐大且複雜。
創客實作建議
- 如果您想延用原圖的簡單電路(不用寫程式):
請採用 方案 A。您可以直接用兩個 AM312 微型 PIR 模組,中間做個隔板,其輸出端透過簡單的電晶體或運放電路去驅動馬達。 - 如果您追求流暢、酷炫的科技感:
建議採用 方案 B(AMG8833 + Arduino)。網路上有非常多現成的「Arduino AMG8833 Thermal Camera Tracker」開源專案與程式碼可以參考,做出來的效果會非常驚艷。
請問您希望這個改裝是完全不需要寫程式(純電子硬體電路),還是您願意加入像 Arduino 這種微控制器來編寫程式呢?這會決定我們下一步該設計哪一種電路圖給您!
Q:想用最簡易的方案先摹擬,可能左邊右邊各邊各需要起碼4組pir
A:這個想法非常專業!使用「陣列排列(多個感測器)」是解決 PIR 只能輸出 0 與 1 數位訊號、無法得知精確角度的最佳過渡方案。透過左、右各 4 組(共 8 組)PIR 來摹擬,可以讓系統具備多段角度的辨識能力。
如果您想用「最簡易的方案」先做基本摹擬,實作方式會因為「要不要用寫程式的微處理器(如 Arduino)」而分為兩種。以下提供最直接的硬體規劃:
💡 核心硬體佈局(不論哪種方案都一樣)
- 扇形陣列(關鍵):
將這 8 組 PIR 像一把扇子一樣,從左到右扇形排開(例如每 15~20 度擺一組)。 - 安裝物理隔板:
用前述提到的黑色吸管或瓦楞紙,在每組 PIR 之間以及它們的前方做「深度管狀遮蔽」。- 目的:必須確保「人站在 A 角度時,只有 A 號 PIR 看得到人,B 號和 C 號完全被隔板擋住」。否則因為 PIR 視角太廣,人一走過去 8 組同時亮起,系統就無法辨識位置了。
🛠️ 方案一:使用 Arduino 控制伺服馬達(最推薦、寫程式最簡單)
這是有 8 組感測器時,實作最快、最不燒腦的方案。因為如果純用電子零件(像原圖的 IC),要比較 8 組訊號的邏輯電路會非常龐大且複雜。 [1]
🔌 方案二:完全不用寫程式(純純硬體、像原圖電路)
如果您想延續第一張圖那種「純硬體電路」的樂趣,要控制直流馬達「左轉/右轉」,可以透過將同側的 PIR 「並聯」來簡化邏輯。
- 左邊 4 組 PIR:將這 4 組的 OUT 端,各自串聯一個二極體後全部綁在一起(這在電子學叫「線或邏輯線 OR」,任何一組輸出 5V,這一條總線就是 5V)。這條總線命名為
Signal_LEFT。 - 右邊 4 組 PIR:同樣操作,將右邊 4 組並聯在一起,總線命名為
Signal_RIGHT。
缺點:這種純硬體方案雖然簡單,但它只知道「人在左邊」或「人在右邊」,轉動速度是固定的。馬達轉過去後,如果人還在該側,它會繼續轉,直到人走到另一側或離開,容易產生震盪(來回晃動)。 [1]
Q:為了讓這個 8 組 PIR 的結構更穩固,您可以考慮用 3D 列印或厚紙板剪出一個「蜂巢狀扇形固定架」。
請問您手邊有 Arduino 相關的開發板可以進行方案一的測試嗎?還是您想嘗試設計方案二的純硬體電路圖呢?A:可能兩種方案都會試
太棒了!兩種方案都嘗試是學習電子實作與微控制器最快的方法。這能讓您親自體會到「純硬體邏輯(Analog/Digital Logic)」與「軟體控制(Microcontroller)」在處理感測器訊號時的巨大差異與各自的優缺點。
為了協助您順利進行這兩階段的實驗,以下為您整理出這兩種方案的關鍵實作細節、注意事項與電路邏輯:
🛠️ 方案一:純硬體電路(左/右 4 組並聯)
在這個階段,您要把 4 個感測器的數位輸出(0V 或 5V)整合為一個訊號。
- 關鍵零件「二極體」不可省略:
PIR 模組(如 HC-SR501 或 AM312)在沒有感應到人時,輸出腳(OUT)會被內部拉低到 0V(GND)。如果您直接把 4 個 OUT 腳用導線綁在一起,只要其中一組感應到輸出 5V,其他 3 組的 0V 就會造成短路,輕則訊號被拉低導致馬達不轉,重則燒毀 PIR 晶片。 - 💻 方案二:Arduino 軟體控制(8 組獨立輸入)當您進階到這個方案時,硬體難度會大幅降低(因為不需要二極體隔離),但軟體上您會遇到 PIR 的致命缺點:訊號殘留(延遲)。
- PIR 的延遲硬傷:
PIR 模組感應到人體移動後,它的輸出會維持 HIGH 狀態一段時間(HC-SR501 最短可調至 0.5 秒,但通常是幾秒鐘)。當人從左邊走到右邊時,左邊的 PIR 訊號還沒熄滅(維持 HIGH),右邊的 PIR 又亮起(也是 HIGH),此時電路會陷入混亂。 - 軟體優化解法(狀態改變偵測 State Change Detection):
在 Arduino 的loop()程式中,不要直接偵測if (digitalRead(pin) == HIGH)。而是要偵測「哪一組 PIR 剛剛從 LOW 變成 HIGH 的那一瞬間」(上升沿觸發)。
只要加入一個紀錄前一次狀態的變數,系統就只會理會「最新動起來的那一組感測器」,而忽略其他還卡在 HIGH 延遲狀態的舊感測器。這樣馬達的跟隨動作就會變得非常精準、俐落! - 您打算先從哪一個方案開始動手呢?
- 如果是方案一(純硬體),需要我為您繪製一份包含二極體與繼電器(或馬達驅動晶片 L298N)的接線原理圖嗎?
- 如果是方案二(Arduino),需要我幫您寫好完整的、具備防延遲干擾的 8 組 PIR 上升沿偵測範例程式碼嗎?
祝您的摹擬實驗順利開始!
硬體設備應該還好,Arduino還真沒玩過...... - PIR 的延遲硬傷:
沒玩過 Arduino 完全不用擔心!這正是開始接觸微控制器的最佳契機。很多人對「寫程式」有恐懼,但實際上,Arduino 的發明就是為了讓不懂程式的藝術家和創客能快速上手。
既然您對硬體比較熟悉,我們先用您擅長的「硬體思維」來拆解 Arduino,您會發現它其實就像一個「可以用軟體自由接線的萬用積木晶片」。
為了讓您第一次玩就成功,我直接幫您把 8 組 PIR 的 完整 Arduino 開源程式碼 寫好了!這段程式內建了前文提到的「防延遲干擾」功能。
1. 硬體接線方式(超簡單)
您只需要把元件直接用杜邦線插上 Arduino 板子(建議買 Arduino Nano 或 UNO):
2. 複製並貼上這段程式碼(已加上詳細註解)
您可以直接把這段程式複製到 Arduino IDE 軟體中,然後燒錄進去:
我的Arduino 開發板型號
看到您的實體照了,您的「家底」非常豐富呢!這裡面總共有 3 片 Arduino 相關板子,以及一片非 Arduino 的高階開發板。
為了做這次的「8 組 PIR 人體追蹤鎖定」實驗,強烈建議使用右上方那一片帶有擴充板(Shield)的 Arduino UNO!
以下為您逐一盤點與說明每一片板子的功能,以及為什麼選它:
🛠️ 您的板子大盤點與建議選用
1. 右上方:🏆 本次專案首選(帶有 YFROBOT 傳感器擴充板的 Arduino UNO)
- 為什麼選它:這片 UNO 上面疊了一層藍色的擴充底座(寫著 YFROBOT 2014)。這簡直是為了您的 8 組 PIR 專案量身打造的!
- 神級優勢:您可以看到上面有一整排紅色(VCC/5V)、黑色(GND)、白色(訊號腳/Pins)的排針。
- 一般 Arduino 只有 1 個 5V 和 2 個 GND 插孔,如果要接 8 組 PIR 加上馬達,您得用麵包板把電源拉得密密麻麻。
- 而這片擴充板每一組數位腳位(0~13)都自帶一組 5V 和 GND!您的 PIR 模組只要用三線的杜邦線,直接按照顏色(GND/VCC/OUT)一組一組垂直插上去就搞定了,完全不需要額外接電源線,電路會非常乾淨漂亮。
2. 左上與左下:標準型 Arduino UNO(備用)
- 這兩片是標準的 Arduino UNO(使用 CH340 晶片的版本)。
- 它們功能跟右上方那片本體完全一樣,只是上面沒有疊加擴充板。如果右上方那片之後要移作他用,這兩片隨時可以頂替。
3. 右下方:Parallax Propeller Activity Board(不建議用在本次實驗)
- 這片不是 Arduino,它是 Parallax 公司的 Propeller 晶片開發板(多核心微處理器)。它使用的是不同的程式語言(如 Spin 或 C),且接腳與生態系與 Arduino 不同,對新手來說難度非常高,這次實驗請先把它收起來。
抱歉了!面對這板子我還真沒理出來頭緒,看來我得先作作功課,如基本腳位定義及作用,找找配置圖說明書,或許你能幫我找!
千萬別抱歉,這太正常了!任何人在第一眼看到密密麻麻的排針時,都會覺得像在看無字天書。
既然您有非常好的硬體底子,我們直接用「拉線」與「供電」的邏輯來拆解這塊藍色的 YFROBOT 傳感器擴充板(Sensor Shield)。看完以下配置圖說明,您一定會瞬間理清頭緒,甚至會覺得「原來這設計這麼聰明」
Q:我對開發板這一區塊還是有點陌生,我雖對一般電路懂一些但還算是較粗大的血管,這開發板不止是微血管,跟本牽扯著神經系統意識
這個比喻太傳神了!你的直覺非常精準。
如果傳統電路是「粗大的血管」(負責輸送大電流、讓馬達轉、讓大燈亮),那開發板確實就是「神經系統」。
- 晶片(MCU)是大腦:負責思考與下達指令。
- 感測器是感官:像眼睛(光敏)、耳朵(麥克風),把外界刺激轉成神經訊號。
- 腳位(Pins)是周圍神經:傳遞微小的電子訊號(微血管等級的電流)。
為什麼覺得它像神經系統?
傳統電路是「A接B,B就一定亮」,是固定的肉體反射。但開發板加入程式碼(意識)後,它有了靈魂。你可以寫程式對大腦說:「如果眼睛(感測器)看到天黑,而且現在時間超過晚上八點,才叫手(腳位)去開燈。」這就是你感受到的「意識」。
給「傳統電路背景」的你一個轉換小秘訣:
- 它不能直接推動大傢伙:開發板的腳位頂多輸出 5V / 40mA 的微小電流(真的是微血管)。如果你要推動傳統電路裡的大馬達、大燈泡,不能直接接腳位,中間必須透過「繼電器(Relay)」或「電晶體(MOSFET)」。這就像大腦(開發板)下指令給開關(繼電器),再由開關去控制高壓電(強大血管)。
- 別怕燒掉大腦:只要記得「訊號線歸訊號線(小電流)」、「動力線歸動力線(大電流)」,把它們隔開,開發板就很安全。
你已經有傳統電路的底子,這絕對是極大的優勢!因為你已經懂得電流怎麼流動,接下來只要學會怎麼用這套「神經系統」去控制你的電路開關就好了。
慢慢來,這個大腦由你來定義。準備好了我們隨時繼續!
既然你懂一些一般電路,你以前最常接觸或製作的是哪一類的電路呢?(例如:汽車電機、室內配線、音響喇叭、還是簡單的開關迴路?)
告訴我你的背景日常,我能用更貼近你熟悉語言的「血管」和「神經」來做對比!

沒有留言:
張貼留言