AI 生成之示意圖,並非實際產品
主題導覽:要先判斷 DC/DCC、解碼器與供電架構,請看N 規 DCC 安全導入指南。
把火車放上軌道、轉一下旋鈕讓它跑——這是鐵道模型的起點,但玩久了總會想:能不能讓號誌隨列車自己變色?讓一列車在小小的終端站自動來回穿梭,不用一直守著?或是花幾百塊自己組一台 DCC 指揮站?這些都是 Arduino 能帶你進入的世界。它是一塊便宜、好學、資源超多的微控制器,很多鐵道模型玩家的自動化之路,都是從一塊 UNO 開始的。
這篇不談嚇人的電機理論,而是先讓你看見 Arduino 能為佈局做什麼好玩的事,再交給你一條最重要的接線安全原則,最後給一份實際的入門購物清單。看完你會知道從哪個小專案下手最有成就感。
Arduino 能為你的佈局做哪些好玩的事?
Arduino 的魅力在於「感測 → 判斷 → 動作」:它讀到某件事發生,就做出反應。放到鐵道模型上,這代表你的佈局可以開始對列車「有反應」,而不再是死的佈景。以下由易到難,都是社群裡玩到爛熟、範例俯拾即是的經典專案。
| 專案 | 做出來的效果 | 大概要什麼 | 難度 |
|---|---|---|---|
| 會動的號誌 | 紅綠燈自己閃爍、切換,或依感測器變色 | LED+限流電阻,進階加感測器 | ⭐ 最好上手 |
| 自動來回區間車 | 車開到底自己反向開回來,不用顧 | 兩端感測器+一片馬達驅動板 | ⭐⭐ |
| 伺服機切道岔 | 道岔緩慢、擬真地轉換,還能加音效 | 伺服機+獨立 5V 電源 | ⭐⭐ |
| 進站廣播/音效 | 車到站播放發車鈴、廣播、平交道聲 | DFPlayer 之類的 MP3 模組+喇叭 | ⭐⭐ |
| 自動閉塞號誌 | 多區間偵測占用、號誌連動,像真的路線 | 多組占用感測+狀態機程式 | ⭐⭐⭐ 進階 |
| DCC-EX 自製指揮站 | 用 Arduino 組出低成本 DCC 指揮站 | 指定 Arduino 板+馬達驅動板 | ⭐⭐⭐ 進階 |
建議從第一項開始。讓一顆 LED 依你的指令閃爍,再進步到「感測器偵測到車經過、號誌就變紅」,這個小小的成功會給你繼續往下玩的動力。想清楚整條路線的號誌邏輯時,再參考N規號誌怎麼玩與自動閉塞規劃。
最重要的一條規則:Arduino 是大腦,不是電源
如果這篇你只記得一件事,就記這個:Arduino 的腳位(GPIO)只能送出微弱的邏輯訊號,不能直接推動會吃電的東西。馬達、軌道、道岔的電磁線圈、一整排燈——這些負載的電流遠超過腳位能承受的範圍,直接接上去輕則燒腳位、重則燒整塊板,或讓 Arduino 不斷重開機。
正確的分工:Arduino 負責「判斷與下指令」,中間放一片馬達驅動板(motor driver)負責「出力」,由獨立電源供電給負載。就像大腦指揮手臂搬東西,大腦本身不出力。要讓軌道通電跑車,就用 TB6612FNG、L298N 這類驅動板;要切道岔線圈或推繼電器,用對應的驅動模組——它們多半已內建保護,照模組說明接就安全。
好在這條規則實作起來很簡單,因為市面上的現成模組都幫你處理好了。你幾乎不需要自己焊電晶體、算飛輪二極體——買一片對應負載的驅動板,Arduino 出訊號、驅動板出力、負載另接電源,三段分清楚就對了。至於 LED 這種小負載,單顆亮起是可以由腳位驅動的,但記得串一顆限流電阻保護,一次點很多顆就改用驅動晶片。
人氣專案:讓火車自己來回跑
「自動來回」大概是最能立刻展示 Arduino 威力的專案,特別適合空間小的單線終端站或路面電車。原理其實很直覺:
- 在軌道兩端各裝一個感測器(紅外線對射、或藏在道床下的磁簧開關配車底磁鐵)。
- 火車開到一端、觸發感測器,Arduino 就透過馬達驅動板反轉軌道電流的方向。
- 車子於是掉頭往另一端開,到了另一端再觸發、再反轉,如此循環。
- 想更擬真,可以讓它到站後停幾秒再開,模擬乘客上下車。
程式邏輯不難,網路上現成範例一大把。真正的眉角在感測要穩:一定要做「去抖」,也就是訊號連續穩定一小段時間才算數,否則車還沒完全到、感測器抖一下就反轉,車會在半路來回抽搐。Arduino 官方的 Debounce 範例正是為這件事而寫,直接拿來改就好。
想省錢玩 DCC?認識 DCC-EX
如果你的目標是數位控制(DCC)——一條軌道獨立控制多台車、開燈鳴笛——市售指揮站動輒數千上萬元,這時 DCC-EX 是個令人興奮的選項。它是一個成熟的開源專案,教你用一塊 Arduino 加上一片馬達驅動板,自己組出一台功能齊全的 DCC 指揮站,成本可能只要市售品的零頭,還能用手機 App 或電腦操控。
但要照規矩配硬體:DCC 軌道上跑的是 NMRA 標準定義的差動數位訊號,不是「高頻直流」,一般腳位或普通電源產生不出來。DCC-EX 會明確列出它支援的 Arduino 板與馬達驅動板型號,照著買、照著組才會成功;別隨便抓一支腳位當 DCC 輸出。想先搞懂 DC 與 DCC 的差別,看DC 與 DCC 比較,要規劃完整系統則看DCC 入門指南。
入門購物清單:幾百塊就能開始
Arduino 好玩的另一半原因,是它真的便宜。以下是新手最實用的起手包,在台灣的網拍、電子材料行都買得到:
| 品項 | 用途 | 備註 |
|---|---|---|
| Arduino UNO 或相容板 | 大腦,跑你的程式 | 相容板更便宜,入門完全夠用 |
| USB 線 | 上傳程式+供電給板子 | 看板子接口買對頭 |
| 麵包板+杜邦線 | 免焊接、反覆插拔試接線 | 新手必備,玩壞不心疼 |
| LED+電阻包 | 做號誌、狀態燈 | 最便宜的第一個專案 |
| 馬達驅動板 | 推動軌道/馬達(TB6612FNG、L298N) | 要讓車跑才需要,負載一律靠它 |
| 感測器 | 偵測列車位置(紅外線、磁簧) | 自動來回、占用偵測用 |
| 伺服機 SG90 | 切道岔、動柵欄 | 便宜好玩,建議獨立 5V 供電 |
不必一次買齊。先買 UNO+麵包板+一包 LED 和電阻,花一個晚上讓號誌閃起來,你就會知道自己想不想繼續投資。這種「小成本、快回饋」正是 Arduino 最適合鐵道模型玩家的地方。
給台灣玩家的建議
台灣玩 Arduino 的環境其實得天獨厚。板子與各種感測模組在露天、蝦皮、光華商場、各地電子材料行都很好買,價格常比國外還便宜;中文教學、YouTube 影片與 Maker 社群也相當活躍,卡關時很容易找到人問。對鐵道模型玩家來說,這代表你不必先花大錢買市售自動化系統,就能自己動手做出會反應的佈局。
實務上給三個建議。第一,先玩弱電、再碰軌道電流——LED 號誌、伺服機這些低壓小負載玩熟了,對「Arduino 出訊號、驅動板出力」的分工有感覺後,再去接會跑車的軌道電源。第二,驅動板和軌道電源要獨立,別全靠 Arduino 的 USB 供電硬撐,馬達一啟動電壓一掉,板子就重開機。第三,一步一步加功能,每次只接一樣新東西、先斷電再動線,出問題才好抓。把它當成一個能慢慢長大的專案,會比想一次做出全自動路線快樂得多。
Arduino 鐵道模型常見問題
Arduino 玩鐵道模型入門要買什麼?
最小組合是一塊 Arduino UNO(或相容板)、一條 USB 線、一片麵包板與杜邦線,加上你想玩的東西:號誌就配 LED 與電阻,切道岔配伺服機或馬達驅動板,讓車自動來回則需要一片馬達驅動板(如 TB6612FNG、L298N)接到軌道。全部在台灣網拍幾百到一千多元就能湊齊,先玩號誌最便宜也最有成就感。
Arduino 可以直接接軌道或道岔線圈嗎?
不行,這是最重要的一條原則。Arduino 的腳位只能送出微弱的邏輯訊號,馬達、道岔線圈這類會吃電的負載一定要透過「馬達驅動板」供電,Arduino 只負責下指令。直接接會燒板子,甚至讓 Arduino 一直重開機。把 Arduino 想成大腦、驅動板想成手臂,大腦不會自己去搬重物。
用 Arduino 能讓火車自動來回跑嗎?
可以,這是最受歡迎的入門專案之一。在一段軌道兩端各放一個感測器(紅外線或磁簧開關),Arduino 偵測到車到站就透過馬達驅動板反轉軌道電流,車子就會自己開回去,很適合單線終端站或路面電車。程式邏輯不難,網路上有大量現成範例,重點是感測要做去抖,別讓車還沒到就切換。
道岔和馬達為什麼要做反電動勢保護?
線圈或馬達在斷電那一瞬間會產生一股反向電壓突波,可能打壞驅動板或讓 Arduino 重開機。好消息是多數現成的馬達驅動板、繼電器模組已經內建了保護二極體,照模組說明接就好;自己用電晶體驅動線圈時,才需要額外並一顆飛輪二極體。這也是建議用現成驅動板而非自己焊的原因之一。
Arduino 感測器一直誤觸、火車還沒到就切換怎麼辦?
多半是雜訊或感測太靈敏。程式上做「去抖」——同一個訊號要連續穩定一小段時間才算數,別用單次讀值就切道岔或反轉;硬體上讓感測器電源乾淨、遠離馬達走線、避開會影響紅外線的強光。長編成可以用兩點感測確認方向與整列通過,比單點可靠很多。
Arduino、DCC 和 DCC-EX 有什麼不一樣?
Arduino 是一塊通用微控制器;DCC 是 NMRA 制定的數位控制標準(軌道上跑的是特殊的差動數位訊號,不是普通直流);DCC-EX 則是一個開源專案,教你用指定的 Arduino 板加上馬達驅動板,自己組出一台 DCC 指揮站。對想省錢入門 DCC 的人,DCC-EX 是很棒的路,但要照它列出的相容硬體來配,別隨便拿一支腳位當 DCC 輸出。
我完全不會寫程式,能玩 Arduino 鐵道嗎?
能。Arduino 生態最大的優勢就是範例多——閃 LED、讀按鈕、控制伺服機、感測去抖都有官方現成程式碼,複製貼上改幾個數字就能跑。先從「讓一顆 LED 依感測器亮起來」這種小目標開始,一步步加功能,比一開始就想做全自動閉塞務實得多。台灣也有不少 Maker 社群和中文教學可以問。
接線和程式要怎麼一步步測試才不會燒東西?
照順序來:先不接任何負載,只用 USB 供電確認程式邏輯與感測讀值正確;再接單一個小東西(一顆 LED、一個伺服機)測介面;接著單一道岔或一段測試軌配一列正常車;最後才擴到整個佈局。每加一層就先斷電再接線,讓馬達驅動板和軌道電源分開供電,出問題時比較好抓是哪一段。
資料來源
- Arduino UNO R3 官方硬體頁與Arduino 供電說明:板型、腳位與供電入口。
- Arduino 官方範例庫:Debounce(去抖)、State Change Detection 與非阻塞計時,正是自動化的基礎。
- TI ULN2003A與Toshiba TB6612FNG:常見的驅動晶片範例,說明為何負載要交給驅動板。
- NMRA S-9.1 DCC 電氣標準:DCC 軌道訊號與普通直流不同。
- DCC-EX 指揮站組裝與DCC vs DC:自製指揮站的相容硬體與注意事項。


