這份筆記偏向「踩坑記錄」性質,紀錄的是實際開發與學習過程中遇到問題、查資料、反覆確認才搞清楚的細節與背景知識,不是從頭到尾的零件清單介紹組裝教學。如果你也在做類似的 WiFi 小車專案,希望這些筆記能幫你少走幾段彎路。
壹、核心控制板:NodeMCU V2(ESP-12E)
這塊小板子是整台車的大腦,負責處理 WiFi 連線、接收感測器的資料,以及執行所有程式邏輯。
我使用的型號是 NodeMCU 1.0(ESP-12E Module)V2 Amica 版,也就是俗稱的「窄版」。核心晶片是 ESP8266,單核心處理器,CPU 時脈 80 MHz,大約是傳統 Arduino Uno 的五倍速。內建 4 MB 的快閃記憶體(Flash),空間相當充裕,甚至可以在板子上架一個迷你網頁伺服器。可用的工作記憶體(Free Heap)約為 43 KB,對於控制小車的程式來說綽綽有餘。最重要的是,它內建 Wi-Fi 模組,開箱即可連接無線網路,這也是為什麼選它來做 WiFi 遙控車的主要原因。

貳、開發環境設定(Arduino IDE)
Arduino IDE 本來是為 Arduino 系列開發板設計的,要讓它支援 ESP8266,需要手動加入開發板套件。步驟如下:
打開 Arduino IDE,依序點選「File」→「Preferences…」可以更改配色與語言,欄位填入以下網址:https://arduino.esp8266.com/stable/package_esp8266com_index.json,接著到「工具」→「開發板」→「開發板管理員」,搜尋 esp8266 (By Community) 並安裝。安裝完成後,IDE 就能辨識 NodeMCU 了。

連接好開發板後,到「工具」選單確認以下設定都正確,否則可能無法上傳程式或程式行為異常:
| 項目 | 設定值 |
|---|---|
| 開發板 | NodeMCU 1.0 (ESP-12E Module) |
| Flash Size | 4M (2M OTA) |
| CPU Frequency | 80 MHz |
| Upload Speed | 115200 |
叁、底層驅動:L293D 馬達驅動擴展板
這塊擴展板是整台車的「肌肉」,負責實際驅動馬達轉動。因為 ESP8266 的輸出電流非常小,完全不足以驅動馬達,如果直接連接,輕則馬達不動,重則燒毀開發板。這塊擴展板內建 L293D 雙 H 橋驅動晶片,原理是用 ESP8266 發出的微弱控制訊號,去「指揮」電池直接供電給馬達,實現「小電流控制大電流」的效果,同時保護核心板不受高電流衝擊。右下角標示的區域則是日後外接超音波測距、紅外線循跡等感測器的腳位。

馬達腳位對應表
程式裡控制馬達轉速與方向時,需要對應正確的腳位。轉速透過 PWM 訊號控制(PWM 是一種藉由快速切換開關來模擬不同電壓、進而調控轉速的技術),方向則透過高低電位訊號決定正轉或反轉。如果反轉則將正負 A+、A- 交換、右側輪胎則是 B+、B- 交換。
| 馬達 | 功能 | 擴展板標示腳位 | 拓展版接口 | 底層 GPIO |
|---|---|---|---|---|
| 馬達 A | 轉速 | D1 | A+ | GPIO 5 |
| 馬達 A | 方向 | D3 | A- | GPIO 0 |
| 馬達 B | 轉速 | D2 | B+ | GPIO 4 |
| 馬達 B | 方向 | D4 | B- | GPIO 2 |
肆、相關照片
使用的電池盒線的原因,還是有額外接穩壓板去分流。上面一條線接到擴展版的 VIM。底下左右會有兩條插腳接到 VM 和 GND 。
| 額外穩壓板 | 馬達接線視圖 | 馬達接線視圖 |
|---|---|---|
![]() | ![]() | ![]() |


