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 控制以啟用馬達。

輸出: AO1AO2BO1BO2 連接到左側 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 碼: 通常是 12340000

使用藍牙手機 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 期間,您必須斷開藍牙模組,或者可以在藍牙模組的電源線上添加一個開關。

持續學習