WiFi 遙控車:核心零件介紹與開發環境設定

NodeMCU ESP8266、L293D 馬達驅動板、開發環境設定完整介紹

這份筆記偏向「踩坑記錄」性質,紀錄的是實際開發與學習過程中遇到問題、查資料、反覆確認才搞清楚的細節與背景知識,不是從頭到尾的零件清單介紹組裝教學。如果你也在做類似的 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 遙控車的主要原因。

NodeMCUv2.png

貳、開發環境設定(Arduino IDE)

Arduino IDE 本來是為 Arduino 系列開發板設計的,要讓它支援 ESP8266,需要手動加入開發板套件。步驟如下:

打開 Arduino IDE,依序點選「File」→「Preferences…」可以更改配色與語言,欄位填入以下網址:https://arduino.esp8266.com/stable/package_esp8266com_index.json,接著到「工具」→「開發板」→「開發板管理員」,搜尋 esp8266 (By Community) 並安裝。安裝完成後,IDE 就能辨識 NodeMCU 了。

Preferences Board

連接好開發板後,到「工具」選單確認以下設定都正確,否則可能無法上傳程式或程式行為異常:

項目設定值
開發板NodeMCU 1.0 (ESP-12E Module)
Flash Size4M (2M OTA)
CPU Frequency80 MHz
Upload Speed115200

叁、底層驅動:L293D 馬達驅動擴展板

這塊擴展板是整台車的「肌肉」,負責實際驅動馬達轉動。因為 ESP8266 的輸出電流非常小,完全不足以驅動馬達,如果直接連接,輕則馬達不動,重則燒毀開發板。這塊擴展板內建 L293D 雙 H 橋驅動晶片,原理是用 ESP8266 發出的微弱控制訊號,去「指揮」電池直接供電給馬達,實現「小電流控制大電流」的效果,同時保護核心板不受高電流衝擊。右下角標示的區域則是日後外接超音波測距、紅外線循跡等感測器的腳位。

L293D

馬達腳位對應表

程式裡控制馬達轉速與方向時,需要對應正確的腳位。轉速透過 PWM 訊號控制(PWM 是一種藉由快速切換開關來模擬不同電壓、進而調控轉速的技術),方向則透過高低電位訊號決定正轉或反轉。如果反轉則將正負 A+、A- 交換、右側輪胎則是 B+、B- 交換。

馬達功能擴展板標示腳位拓展版接口底層 GPIO
馬達 A轉速D1A+GPIO 5
馬達 A方向D3A-GPIO 0
馬達 B轉速D2B+GPIO 4
馬達 B方向D4B-GPIO 2

肆、相關照片

使用的電池盒線的原因,還是有額外接穩壓板去分流。上面一條線接到擴展版的 VIM。底下左右會有兩條插腳接到 VMGND

額外穩壓板馬達接線視圖馬達接線視圖
comments powered by Disqus