This website requires JavaScript.
優惠券
寄往
部落格

如何用 Arduino 製作藍牙遙控車:逐步指南

最初發布於 Jun 03, 2026, 更新於 Jun 03, 2026

2 分鐘

目錄
  • 步驟 1:定義 Arduino 藍牙車的機械與電氣系統
  • 步驟 2:為 Arduino Nano 遙控車 PCBA 選擇元件
  • 步驟 3:設計 Arduino Nano 藍牙遙控車的電路圖
  • 步驟 4:設計雙輪機器人車 PCBA 的 PCB 佈局
  • 步驟 5:使用 PCBA 服務製造 Arduino Nano 藍牙遙控車
  • 步驟 6:為 Arduino Nano 藍牙車控制編寫程式
  • 步驟 7:使用手機控制 Arduino 藍牙遙控車
  • 步驟 8:測試與優化 Arduino 藍牙控制車
  • 結論
  • 常見問題

本教學將逐步說明如何在一塊特別設計的 PCBA(印刷電路板組裝)上,使用 Arduino Nano 模組完成一輛雙輪藍牙遙控車的完整工程設計與實作。

雖然許多愛好者一開始會使用麵包板和跳線來連接馬達與藍牙模組,但這種方法容易發生斷線和訊號雜訊。本指南將升級這個過程,教您如何設計專業的主機板。

主要設計特點:

● 控制器:使用 Arduino Nano 作為可插拔模組。

● 驅動系統:兩個 N20 直流減速馬達,配置為差速驅動。

● 驅動器:表面黏著型 TB6612FNG MOSFET 驅動器。

● 製造:專業組裝 [PCB 組裝服務 → JLCPCB PCBA] 以確保可靠性。

步驟 1:定義 Arduino 藍牙車的機械與電氣系統

選擇差速驅動系統

這個機器人不依賴阿克曼轉向(像真實汽車那樣),而是採用差速驅動系統。

機制: 配置包含兩個強大的 N20 直流馬達,它們可以獨立運作,並位於底盤的兩側。

轉向邏輯:

前進: 兩個馬達以相同速度旋轉(VL = VR)。

轉彎: 一個馬達比另一個旋轉得慢(VL ≠ VR)。

■ 左轉: VL > VR

■ 右轉: VL < VR

零半徑轉彎: 馬達以相反方向旋轉。

穩定性: 使用一個前置被動球型腳輪作為第三個接觸點,以減少摩擦並實現全向移動。

規劃電氣架構

本專案中的中央處理單元是 Arduino Nano。它控制三個最重要的子系統:

1. 通訊: 處理來自 HC-05 藍牙模組通過 UART 進行的數據傳輸。

2. 馬達控制: 為馬達驅動器產生 PWM 訊號。

3. 電源分配: 調節電池電壓以供邏輯電路和馬達驅動使用。

至關重要的是,馬達驅動器 IC 隔離了 Arduino Nano 敏感的邏輯引腳,使其免受 N20 馬達產生的高電感電壓尖峰的影響。

如果電池電壓低於馬達的額定電壓,則會使用升壓轉換器(例如 XL6009)通過馬達驅動器向馬達提供全電壓,從而提高電池電壓。

子系統元件用途
控制器Arduino Nano馬達與藍牙控制邏輯
馬達N20 直流馬達 (x2)差速驅動致動
升壓模組XL6009從電池升壓
通訊HC-05藍牙 UART 介面
支撐球型腳輪前方機械穩定性

使用 N20 馬達的 Arduino Nano 藍牙遙控車系統概覽表

步驟 2:為 Arduino Nano 遙控車 PCBA 選擇元件

選擇正確的元件對於構建機器人 PCB 組裝是必要的。

元件數量備註
Arduino Nano1可插拔模組(排針安裝)
N20 直流馬達2差速驅動 (6V-12V)
TB6612FNG1雙 H 橋驅動器 (SMD)
XL60091升壓轉換器模組
翹板開關1用作切換(開/關)的斷路開關
HC-051藍牙 UART 模組
球型腳輪1前方被動支撐

使用 N20 馬達的 Arduino Nano 藍牙遙控車 PCBA 物料清單表

步驟 3:設計 Arduino Nano 藍牙遙控車的電路圖

分配 Arduino Nano 引腳用於馬達和藍牙控制

正確的引腳映射對於 PWM 產生至關重要。

功能Arduino Nano 引腳
馬達 A PWMD5(支援 PWM)
馬達 A 方向D6, D7
馬達 B PWMD10(支援 PWM)
馬達 B 方向D8, D9
藍牙 RXD0 (RX)
藍牙 TXD1 (TX)

周邊設備的 Arduino Nano 引腳分配

為差速驅動連接馬達驅動器

● 輸入: AIN1/AIN2 連接到 Nano D6/D7 以控制方向(順時針/逆時針),而 BIN1/BIN2 連接到 Nano D8/D9 以控制方向(順時針/逆時針)。

● 速度: PWMA/PWMB 連接到 Nano D5/D10。

● 待機: TB6612FNG 上的 STBY 引腳必須拉高(至 VCC)或由 GPIO 控制以啟用馬達。

● 輸出: AO1、AO2 和 BO1、BO2 連接到左側 N20 馬達端子。

連接藍牙模組以實現手機控制

直接連接: HC-05 TX 連接到 Arduino RX,HC-05 RX 連接到 Arduino TX

Schematic diagram of Arduino Bluetooth-controlled two-wheel RC car with N20 motors

Arduino 藍牙控制雙輪遙控車(使用 N20 馬達)的電路圖

步驟 4:設計雙輪機器人車 PCBA 的 PCB 佈局

優化元件佈局

● 置中: 電池座應精確定位在中間,以便重量均勻分佈。

● 邊緣放置: 將 HC-05 模組放置在電路板邊緣。PCB 銅箔區域不應延伸到藍牙天線區域下方,以避免訊號屏蔽。

● 連接器: 將用於 N20 馬達的 JST 或螺絲端子精確放置在馬達實際安裝的位置,以縮短導線長度。

在 PCB 上安全佈線高電流馬達走線(關鍵設計技巧)

● 走線寬度: 承載通往 N20 馬達電源的走線必須夠寬。使用計算器(IPC-2221)來確定尺寸,至少能承受 1A 連續電流(通常 ≥ 20 mil)。

● 迴路面積: 保持馬達電流的去程和回程路徑靠近,以最小化電感和輻射雜訊。

● GND 鋪銅: PCB 上的 GND 鋪銅會用連接到地的銅箔填滿開放區域,建立一個實心的接地平面。它的作用是減少 EMI、提供低阻抗訊號返迴路徑、幫助散熱以及穩定電壓,這對於複雜或高速設計中的訊號品質和生產非常重要。

PCB layout for Arduino Bluetooth RC car

針對 PCBA 優化的 Arduino 藍牙遙控車 PCB 佈局

步驟 5:使用 PCBA 服務製造 Arduino Nano 藍牙遙控車

產生用於 PCBA 的 Gerber、BOM 和 Pick-and-Place 文件

要使用 JLCPCB PCBA 服務,您必須從您的 EDA 軟體(例如 EasyEDA 或 KiCad)匯出三個特定文件:

1. Gerber 文件: 定義物理銅層、阻焊層和鑽孔。

2. BOM(物料清單): 一個包含製造商零件編號的元件列表。

3. CPL(元件放置列表): SMT 貼片機的座標(X、Y、旋轉)。

JLCPCB 2D Gerber viewer showing Arduino RC car board tracks

JLCPCB 2D Gerber 檢視器顯示不含元件的 Arduino 遙控車電路板走線。

3D preview showing assembled components

3D 預覽顯示已組裝的元件

在 JLCPCB 訂購 Arduino 藍牙控制車的 PCB 和 PCBA

完成設計後,您可以按照以下步驟訂購您的組裝電路板:

1. 上傳 Gerber 文件: 前往 JLCPCB 網站並上傳包含您 Gerber 文件的 zip 檔案。檢視器將顯示您的電路板設計。

JLCPCB Order page, showing Gerber view of the bare PCB

JLCPCB 訂單頁面,顯示裸 PCB 的 Gerber 檢視

2. 選擇 PCBA: 將「PCB 組裝」選項切換為 開啟。

PCBA Order economic top side

PCBA 訂單經濟型頂面

3. 選擇設定: 選擇「組裝頂面」(因為我們的 SMT 元件在頂面),然後根據您的複雜度決定「經濟型」或「標準型」組裝。

4. 上傳 BOM 和 CPL: 上傳在前一步驟產生的特定文件。

5. 零件選擇: 系統會將您的 BOM 項目與 JLCPCB 零件庫進行比對。驗證零件並查看 3D 預覽以確認方向正確。

6. 訂購: 前往結帳。JLCPCB 工程師將在開始生產前進行 DFM(可製造性設計)審查。

為何 PCBA 使 Arduino 藍牙控制車更可靠

● 抗雜訊能力: 與充當天線的跳線相比,實心 PCB 接地平面大幅減少了電磁干擾。

● 抗震性: N20 馬達會產生振動。PCB 上的焊點比麵包板連接更耐用。

指標麵包板PCBA
抗雜訊能力差高
耐用性低(導線容易鬆脫)高(焊接)
可重複性低極佳

Arduino Nano 機器人車的麵包板接線與 PCBA 比較

步驟 6:為 Arduino Nano 藍牙車控制編寫程式

構建用於遙控車控制的 Arduino 韌體

所以程式碼的作用是接收來自序列埠的字元,並將其轉換為馬達差速。

#include <SoftwareSerial.h>

// 馬達引腳

const int enA = 5;

const int inA1 = 6;

const int inA2 = 7;

const int enB = 10;

const int inB1 = 8;

const int inB2 = 9;

// ... 定義其他引腳

void setup() {

 Serial.begin(9600); // 藍牙鮑率

 pinMode(enA, OUTPUT);

 pinMode(inA1, OUTPUT);

 pinMode(inA2, OUTPUT);

 pinMode(enB, OUTPUT);

 pinMode(inB1, OUTPUT);

 pinMode(inB2, OUTPUT);

}

void loop(){

 //您的邏輯程式碼放在這裡

}

實作差速驅動邏輯

● 左轉: 當右馬達以速度 X 向前旋轉,而左馬達停止或向後旋轉時,機器人左轉。

○ 程式碼邏輯:

analogWrite(RightMotor, 200);

analogWrite(LeftMotor, 0);

● 右轉: 左馬達以速度 X 向前旋轉,而右馬達停止或向後旋轉。

○ 程式碼邏輯:

analogWrite(RightMotor, 0);

analogWrite(LeftMotor, 200);

● 原地旋轉(零半徑):

○ 程式碼邏輯:左馬達向後,右馬達向前。

加入安全邏輯以防止馬達和電源故障

● 故障安全: 如果藍牙連線中斷,機器人的動作應停止,而不是繼續行駛。

● 緩升: 應避免 PWM 從 0 立即跳到 255,以保護 N20 馬達內的塑膠齒輪。

步驟 7:使用手機控制 Arduino 藍牙遙控車

將藍牙模組與行動裝置配對

1. 為 PCBA 通電。HC-05 LED 應快速閃爍(配對模式)。

2. 在手機上開啟藍牙設定,並與「HC-05」配對。

3. PIN 碼: 通常是 1234 或 0000。

使用藍牙手機 App 控制遙控車

使用標準的「藍牙電子」App。

● 配置: 將「前進」箭頭按鈕對應到發送字元 'F'。將「左轉」對應到 'L',以此類推。

● 數據流: 手機 App → 藍牙 —> HC-05 $\rightarrow$ Arduino Nano (RX) → 韌體邏輯 → TB6612FNG → 馬達。

步驟 8:測試與優化 Arduino 藍牙控制車

對 PCBA 和馬達進行電氣測試

在插入 Nano 之前:

1. 使用電池為電路板供電。

2. 三用電表檢查:測量排針上的 5V 引腳。必須是穩定的 5V。如果是 7V 以上,請勿插入 Nano!

3. 堵轉電流:在抓住車輪的同時測量電流,確保熱走線不會過熱。

驗證機械性能

● 平衡: 確保電池置中,以免機器人傾倒。

● 腳輪阻力: 如果前方球型腳輪有拖曳現象,請潤滑它或更改 N20 馬達支架的高度。

結論

本教學展示了如何透過 PCBA,將一輛簡單的雙輪 Arduino Nano 藍牙遙控車提升為一個可靠的工程專案。

使用專業製造取代麵包板,可確保您的機器人能為 N20 馬達提供完美的動力、擁有不中斷的藍牙通訊,並且機械強度足以應對實際應用。

準備好開始您的製作了嗎?

匯出您的 Gerber 文件,並透過 JLCPCB PCBA 入口網站開始您的 Arduino Nano PCBA 專案,立即製造您的客製化電路板!

常見問題

問題 1:如果 TB6612FNG 驅動器在零件庫中缺貨怎麼辦?

JLCPCB 擁有龐大的零件庫,但庫存狀況會變動。您可以使用「預訂」選項為您保留零件,或者查看列為相容的 L9110S 驅動器是否符合您的電壓需求,作為替代方案。

問題 2:我需要訂購鋼板嗎?

如果您使用 PCBA 服務,則不需要。JLCPCB 會製作自己的內部鋼板來塗抹錫膏。只有當您打算自己在家焊接 SMT 零件時,才需要鋼板。

問題 3:JLCPCB 的「基礎」和「擴展」零件有什麼區別?

「基礎」零件已裝載在送料器上,無需人工費用。「擴展」零件則需要少量人工費用來裝載卷盤。為了節省成本,在選擇電阻、電容和 LED 時,請篩選「基礎」零件。

問題 4:我可以用標準的 9V 電池為這個 PCBA 供電嗎?

我們強烈建議不要這樣做。標準的 9V (PP3) 電池無法提供馬達所需的高電流。請使用 2S 鋰離子電池組 (7.4V) 或 6 顆 AA 電池以獲得可靠的性能。

問題 5:為什麼插入藍牙模組時,程式碼上傳會失敗?

HC-05 使用與 USB 連接埠相同的硬體序列引腳(D0/D1)。在將草稿碼上傳到 Arduino Nano 期間,您必須斷開藍牙模組,或者可以在藍牙模組的電源線上添加一個開關。

持續學習