This website requires JavaScript.


JLCPCBの生産は春節休暇中も継続します。特別仕様品は休暇明けに処理いたします。休暇スケジュールはこちら >


クーポン アプリのダウンロード
発送先
ブログ

ArduinoでBluetooth制御カーを作る方法:ステップバイステップガイド

初出公開日 Feb 13, 2026, 更新日 Feb 13, 2026

3 min

ArduinoでBluetooth制御カーを作る方法:ステップバイステップガイド

このチュートリアルでは、特別に設計されたPCBA(プリント基板実装)上にArduino Nanoモジュールを搭載した二輪Bluetooth RCカーの、完全なエンジニアリングと実装を詳しく解説します。


多くのホビーヤーはブレッドボード上でジャンパワイヤを使ってモーターやBluetoothモジュールを配線することから始めますが、この方法は接続の脱落や信号ノイズの問題が起きやすいです。このガイドでは、プロフェッショナルなメインボードの設計方法を学ぶことで、そうした問題を解決します。


主な設計特徴:


● コントローラ: Arduino Nanoをプラグインモジュールとして使用。

● 駆動システム: 差動駆動用に設定された2個のN20 DCギアモーター。

● ドライバ: 表面実装TB6612FNG MOSFETベースドライバ。

● 製造: 信頼性のためにプロフェッショナルに実装された [PCB実装サービス → JLCPCB PCBA]。



ステップ1: Arduino Bluetoothカーの機械・電気システムを定義する


差動駆動システムを選択


このロボットは実車のようなアッカーマン操舵ではなく、差動駆動システムを採用しています。


機構: 構成は、シャーシの左右に独立して配置された2個の高出力N20 DCモーターで構成されます。


操舵ロジック:


前進: 両モーターを等速で回転(VL = VR)。

旋回: 片方のモーターを低速に(VL ≠ VR)。

左: VL > VR

右: VL < VR

ゼロ半径旋回: モーターを逆方向に回転。


安定性: フロントに受動的なボールキャスターを3点接触点として使用し、摩擦を減らして全方向移動を可能にします。


電気アーキテクチャを計画


本プロジェクトの中央処理装置はArduino Nanoです。最も重要な3つのサブシステムを制御します:


1. 通信: HC-05 BluetoothモジュールからのUARTによるデータ送受信を担当。


2. モーター制御: モータードライバー用PWM信号を生成。


3. 電源分配: ロジックとモーター駆動用にバッテリー電圧を調整。


重要な点として、モータードライバーICはArduino Nanoの感度の高いロジックピンを、N20モーターが発生する高い誘導電圧スパイクから隔離します。


バッテリー電圧がモーターの定格電圧より低い場合は、XL6009などの昇圧コンバーターを使用してモーターに全電圧を供給し、バッテリー電圧を上昇させます。


サブシステム部品目的
コントローラArduino Nanoモーター&Bluetooth制御ロジック
モーターN20 DCモーター(×2)差動駆動アクチュエーション
昇圧モジュールXL6009バッテリーからの電圧昇圧
通信HC-05Bluetooth UARTインターフェース
サポートボールキャスターフロント機械的安定性

Arduino Nano Bluetooth RCカー(N20モーター搭載)のシステム概要表



ステップ2: Arduino Nano RCカーPCBA用の部品を選定


ロボットPCBAを構築するには、正しい部品の選定が必要です。


部品数量備考
Arduino Nano1プラグインモジュール(ヘッダ実装)
N20 DCモーター2差動駆動(6V-12V)
TB6612FNG1デュアルHブリッジドライバ(SMD)
XL60091昇圧コンバータモジュール
ロッカースイッチ1キルスイッチ(ON/OFF切替)
HC-051Bluetooth UARTモジュール
ボールキャスター1フロント受動サポート

N20モーターを使用したArduino Nano Bluetooth RCカーPCBAのBOM表



ステップ3: Arduino Nano Bluetooth RCカーの回路図を設計


モーター・Bluetooth制御用にArduino Nanoピンを割り当て


PWM生成のための適切なピンマッピングが必須です。


機能Arduino Nanoピン
モーターA PWMD5(PWM対応)
モーターA方向D6, D7
モーターB PWMD10(PWM対応)
モーターB方向D8, D9
Bluetooth RXD0(RX)
Bluetooth TXD1(TX)

周辺機器用Arduino Nanoピン割り当て


差動駆動用にモータードライバーを配線


入力: AIN1/AIN2をNanoのD6/D7に接続し方向制御(時計回り/反時計回り)を行い、BIN1/BIN2をNanoのD8/D9に接続して方向制御を行う。


速度: PWMA/PWMBをNanoのD5/D10に接続。


スタンバイ: TB6612FNGのSTBYピンはVCCにHIGHに固定、またはGPIOで制御してモーターを有効にする。


出力: AO1, AO2,およびBO1, BO2を左側N20モータ端子に接続。


モバイル制御用にBluetoothモジュールを接続


直接接続: HC-05 TX → Arduino RX、HC-05 RX → Arduino TX


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

N20モーター搭載Arduino Bluetooth二輪RCカーの回路図



ステップ4: 二輪ロボットカーPCBAのためのPCBレイアウトを設計


部品配置を最適化


センタリング: バッテリーホルダーを中央に配置し、重量を均等にする。


エッジ配置: HC-05モジュールを基板端に配置。Bluetoothアンテナ領域の下に銅面を広げないで信号遮蔽を避ける。


コネクタ: N20モーター用JSTまたはねじ端子を、モーターが物理的に取り付く位置に配置し、配線を最短にする。


PCB上の大電流モータートレースを安全に配線(重要設計ヒント)


トレース幅: N20モーターへの電源供給トレースは太くする。IPC-2221計算機で1A連続電流に対応する幅(通常≥ 20 mil)を設定。


ループ面積: モーター電流の往復パスを近接配置し、インダクタンスと放射ノイズを最小化。


GNDプア: PCBの開放エリアをグランド接続銅で埋め、確固たるグランドプレーンを形成。 EMI低減、低インピーダンス信号戻り路、放熱、電圧安定化を実現し、信号品質と量産に重要。



PCB layout for Arduino Bluetooth RC car

PCBA最適化済みArduino Bluetooth RCカー用PCBレイアウト



ステップ5: PCBAサービスを利用したArduino Nano Bluetooth RCカーの製造


Gerber、BOM、Pick-and-PlaceファイルをPCBA用に生成


JLCPCB PCBAサービスを利用するには、EDAソフト(EasyEDA/KiCad等)から3種類のファイルをエクスポートします:


1. Gerberファイル: 銅面、ソルダマスク、ドリル穴を定義。


2. BOM(部品表): メーカー品番を含む部品リスト。


3. CPL(部品配置リスト): SMT実装機用のX,Y,回転座標。


JLCPCB 2D Gerber viewer showing Arduino RC car board tracks

JLCPCB 2D Gerberビューアー(部品なし配線図)


3D preview showing assembled components

実装部品の3Dプレビュー


JLCPCBでArduino Bluetooth制御カーのPCB・PCBAを発注


設計完了後、以下の手順で実装済み基板を発注できます:


1. Gerberアップロード: JLCPCBサイトにGerber ZIPをアップロード。ビューアで設計を確認。


JLCPCB Order page, showing Gerber view of the bare PCB

JLCPCB注文ページ(ベアPCB Gerberビュー)



2. PCBA選択: 「PCB Assembly」オプションをONにする。



PCBA Order economic top side

経済的片面PCBA注文



3. 設定選択: 「Assemble top side」を選択(SMT部品は上面にあるため)、複雑さに応じて「Economic」または「Standard」実装を選ぶ。


4. BOM・CPLアップロード: 前工程で生成したファイルをアップロード。


5. 部品選定: BOM項目がJLCPCB部品ライブラリと照合される。部品を確認し、3Dプレビューで向きを確定。


6. 注文: チェックアウトへ。生産前にJLCPCB技術者がDFM(製造適性)レビューを実施。


なぜPCBAがArduino Bluetooth制御カーをより信頼性高くするか


ノイズ免疫: 頑丈なPCBグランドプレーンは、ジャンパワイヤ(アンテナとして機能)と比較して電磁干渉を大幅に低減。


振動耐性: N20モーターは振動を生じるが、PCBの半田接合はブレッドボード接続よりはるかに耐久性がある。


項目ブレッドボードPCBA
ノイズ免疫低い高い
耐久性低い(ワイヤが簡単に外れる)高い(半田付け)
再現性低い優れている

Arduino Nanoロボットカーのブレッドボード配線とPCBAの比較



ステップ6: Arduino NanoにBluetoothカー制御プログラムを書き込む


RCカー制御用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); // Bluetoothボーレート

 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);


ピボット(ゼロ半径):

○ コード例: 左モーター逆回転、右モーター前進。


モーター・電源故障を防ぐ安全ロジックを追加


フェイルセーフ: Bluetoothリンクが切断された場合、ロボットは停止し、暴走を防ぐ。


ランピング: 0→255 PWMの即時ジャンプは避け、N20モーターのプラスチックギアを保護する。



ステップ7: スマートフォンでArduino Bluetooth RCカーを制御


Bluetoothモジュールをモバイルデバイスとペアリング

1. PCBAに電源投入。HC-05 LEDが高速点滅(ペアリングモード)。

2. スマートフォンのBluetooth設定を開き、"HC-05"とペアリング。

3. PIN: 通常1234または0000


BluetoothモバイルアプリでRCカーを制御

標準的な"Bluetooth Electronics"アプリを使用。

設定: 「前進」矢印ボタンに文字'F'を割り当て、「左」に'L'等を割り当てる。

データフロー: スマホアプリ → Bluetooth → HC-05 → Arduino Nano(RX) → ファームウェアロジック → TB6612FNG → モーター。



ステップ8: Arduino Bluetooth制御カーのテストと最適化


PCBAおよびモーターに対する電気テストを実施


Nanoを挿入する前に:

1. バッテリーで基板に給電。

2. マルチメータチェック: ヘッダの5Vピンを測定。確実に5Vであること。7V以上の場合はNanoを挿入しない!

3. ストール電流: ホイールを固定した状態で電流を測定し、トレースが過熱しないことを確認。


機械的性能を検証

バランス: バッテリーを中央に配置し、ロボットが傾かないようにする。

キャスタードラッグ: フロントボールキャスターが引っかかる場合は潤滑剤を塗布、またはN20モーターマウントの高さを調整。



まとめ


このチュートリアルでは、シンプルな二輪Arduino Nano Bluetooth RCカーを、PCBAを用いた信頼性の高いエンジニアリングプロジェクトへと昇華させる方法を示しました。


プロフェッショナルな実装をブレッドボードの代わりに用いることで、N20モーターへの安定電源供給、途切れないBluetooth通信、実世界使用に耐える機械的強度を実現できます。


さあ、制作を始めましょう!


Gerberファイルをエクスポートして、JLCPCB PCBAポータルで本日オリジナル基板を発注してください!



よくある質問


Q1: TB6612FNGドライバーがライブラリ在庫切れの場合は?

JLCPCBは膨大なライブラリを保有していますが在庫は変動します。「Pre-order」オプションで部品確保、または互換のL9110Sドライバーが電圧要件を満たす代替として利用可能です。


Q2: ステンシルは必要ですか?

PCBAサービスを利用する場合は不要です。JLCPCBは内部用ステンシルを作成します。ステンシルが必要なのは自宅でSMT部品を手半田する場合のみです。


Q3: JLCPCBの「Basic」と「Extended」部品の違いは?

「Basic」部品はフィーダに既に装填され手数料無料。「Extended」部品はリール装填の小さな手数料がかかります。コスト削減には抵抗、コンデンサ、LEDを選ぶ際に「Basic」フィルタを使用してください。


Q4: 一般的な9V電池でこのPCBAを駆動できますか?

強くお勧めしません。標準9V(PP3)電池はモーターに必要な大電流を供給できません。信頼性のため2Sリチウムイオンパック(7.4V)または6本の単三電池を使用してください。


Q5: なぜBluetoothモジュールを挿入するとコードアップロードが失敗するのですか?

HC-05はUSBポートと同じハードウェアシリアルピン(D0/D1)を使用します。スケッチアップロード中はBluetoothモジュールを切断するか、Bluetoothモジュールの電源ラインにスイッチを追加してください。



学び続ける