ArduinoでBluetooth制御カーを作る方法:ステップバイステップガイド
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-05 | Bluetooth UARTインターフェース |
| サポート | ボールキャスター | フロント機械的安定性 |
Arduino Nano Bluetooth RCカー(N20モーター搭載)のシステム概要表
ステップ2: Arduino Nano RCカーPCBA用の部品を選定
ロボットPCBAを構築するには、正しい部品の選定が必要です。
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino Nano | 1 | プラグインモジュール(ヘッダ実装) |
| N20 DCモーター | 2 | 差動駆動(6V-12V) |
| TB6612FNG | 1 | デュアルHブリッジドライバ(SMD) |
| XL6009 | 1 | 昇圧コンバータモジュール |
| ロッカースイッチ | 1 | キルスイッチ(ON/OFF切替) |
| HC-05 | 1 | Bluetooth UARTモジュール |
| ボールキャスター | 1 | フロント受動サポート |
N20モーターを使用したArduino Nano Bluetooth RCカーPCBAのBOM表
ステップ3: Arduino Nano Bluetooth RCカーの回路図を設計
モーター・Bluetooth制御用にArduino Nanoピンを割り当て
PWM生成のための適切なピンマッピングが必須です。
| 機能 | Arduino Nanoピン |
|---|---|
| モーターA PWM | D5(PWM対応) |
| モーターA方向 | D6, D7 |
| モーターB PWM | D10(PWM対応) |
| モーターB方向 | D8, D9 |
| Bluetooth RX | D0(RX) |
| Bluetooth TX | D1(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

N20モーター搭載Arduino Bluetooth二輪RCカーの回路図
ステップ4: 二輪ロボットカーPCBAのためのPCBレイアウトを設計
部品配置を最適化
● センタリング: バッテリーホルダーを中央に配置し、重量を均等にする。
● エッジ配置: HC-05モジュールを基板端に配置。Bluetoothアンテナ領域の下に銅面を広げないで信号遮蔽を避ける。
● コネクタ: N20モーター用JSTまたはねじ端子を、モーターが物理的に取り付く位置に配置し、配線を最短にする。
PCB上の大電流モータートレースを安全に配線(重要設計ヒント)
● トレース幅: N20モーターへの電源供給トレースは太くする。IPC-2221計算機で1A連続電流に対応する幅(通常≥ 20 mil)を設定。
● ループ面積: モーター電流の往復パスを近接配置し、インダクタンスと放射ノイズを最小化。
● GNDプア: PCBの開放エリアをグランド接続銅で埋め、確固たるグランドプレーンを形成。 EMI低減、低インピーダンス信号戻り路、放熱、電圧安定化を実現し、信号品質と量産に重要。
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ビューアー(部品なし配線図)
実装部品の3Dプレビュー
JLCPCBでArduino Bluetooth制御カーのPCB・PCBAを発注
設計完了後、以下の手順で実装済み基板を発注できます:
1. Gerberアップロード: JLCPCBサイトにGerber ZIPをアップロード。ビューアで設計を確認。

JLCPCB注文ページ(ベアPCB Gerberビュー)
2. PCBA選択: 「PCB Assembly」オプションをONにする。
経済的片面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モジュールの電源ラインにスイッチを追加してください。
学び続ける
ArduinoでBluetooth制御カーを作る方法:ステップバイステップガイド
ArduinoでBluetooth制御カーを作る方法:ステップバイステップガイド このチュートリアルでは、特別に設計されたPCBA(プリント基板実装)上にArduino Nanoモジュールを搭載した二輪Bluetooth RCカーの、完全なエンジニアリングと実装を詳しく解説します。 多くのホビーヤーはブレッドボード上でジャンパワイヤを使ってモーターやBluetoothモジュールを配線することから始めますが、この方法は接続の脱落や信号ノイズの問題が起きやすいです。このガイドでは、プロフェッショナルなメインボードの設計方法を学ぶことで、そうした問題を解決します。 主な設計特徴: ● コントローラ: Arduino Nanoをプラグインモジュールとして使用。 ● 駆動システム: 差動駆動用に設定された2個のN20 DCギアモーター。 ● ドライバ: 表面実装TB6612FNG MOSFETベースドライバ。 ● 製造: 信頼性のためにプロフェッショナルに実装された [PCB実装サービス → JLCPCB PCBA]。 ステップ1: Arduino Bluetoothカーの機械・電気システムを定義する 差動......
プロ並みのはんだごて先の掃除法:必要な道具、手順、コツ
電子製造の世界では、最も簡単なDIYプロジェクトから複雑な航空宇宙プロトタイピングに至るまで、はんだごてのこて先(または「ビット」)は最も重要なインターフェースです。これは、発熱体からはんだ接合部へエネルギーを伝達する熱チェーンの最終リンクです。それにもかかわらず、作業台で最も見落とされがちな工具でもあります。 多くのエンジニアは、はんだステーションの品質(ワット数、温度安定性、立ち上がり時間)を重視する一方で、こて先自体の状態を無視しています。酸化した、ピットができた、または汚れたこて先は熱的障壁を作り出します。ステーションがいかに高価であっても、こて先が適切に濡れなければ、熱伝達は非効率となり、不良接合とフラストレーションの原因となります。 このガイドでは、はんだごてのこて先を正しく清掃する方法を詳しく示します。見た目を光沢にするだけでなく、効率的な熱伝達を回復し、こて先の早期劣化を防ぐための方法です。 はんだごてのこて先形状の比較:円錐形、ベveled、チゼルタイプが異なる熱接触面積を示しています。 注意:すぐに答えを知りたい場合は、以下のステップバイステップの清掃セクションにジャンプしてく......
さまざまなプロトボードのタイプを探る:はんだ付きとはんだレスのオプション
さまざまなプロトボードのタイプを探る:はんだ付きとはんだレスのオプション プロトボードは、回路の試作と実験のためのプラットフォームを提供することで、電子機器の世界において重要な役割を果たしています。プロトボードには、はんだ付けタイプとソケットタイプの2つの主要な種類があります。それぞれのタイプには独自の利点と考慮事項があります。この記事では、これら2つのプロトボードの違い、それぞれの特徴、最適な使用例について探ります。利用可能なオプションを理解することで、回路試作のニーズに合わせて賢明な判断ができます。 はんだ付けプロトボード: はんだ付けプロトボードは、その名の通り、部品を接続するにはんだ付けが必要です。これらのプロトボードは通常、部品をはんだ付けするための予め穴が開いたパッドが配置されています。以下に考慮すべき重要なポイントを示します。 利点: 耐久性と安定性:はんだ付けされた接続は、振動や動きに対する頑強さで知られています。 永久回路設計:はんだ付けプロトボードは、長期的な安定性と信頼性が求められる回路の作成に最適です。 高周波アプリケーションに適している:はんだ付け接続は信号の整合性に優れ......
スルーホール技術の将来動向
スルーホール技術は、数十年にわたり電子部品実装の基盤となってきました。その信頼性、耐久性、使いやすさは、様々な産業における好ましい選択肢となっています。電子産業が進化し続ける中、スルーホール技術もPCB設計と実装の変化するニーズに対応するために適応しています。本記事では、スルーホール部品について包括的なレビューを提供し、その種類、製造プロセス、産業用途を検討します。さらに、スルーホール技術の未来を探り、PCB設計・製造に影響を与える新たな発展、イノベーション、トレンドについて議論します。 スルーホール部品の理解 スルーホール部品は、プリント基板(PCB)に予め開けられた穴に挿入され、反対側はんだ付けされることで電気的接続を確立する電子部品です。機械的安定性と堅牢な電気接続を提供し、耐久性と信頼性が求められるアプリケーションに適しています。 スルーホール部品の種類 スルーホール技術は、抵抗器、コンデンサ、ダイオード、トランジスタ、コネクタなど、幅広い部品を包含しています。これらの部品は様々な形状係数で利用可能であり、異なる実装オプションと組立ての容易さを可能にします。各タイプの部品は独自の構造と機能......
JLCPCBにおける包括的なPCB組立プロセスガイド:効率的で信頼性の高いPCB製造
JLCPCBにおける包括的なPCB組立プロセスガイド:効率的で信頼性の高いPCB製造 実装可能な回路基板を作る上で最も重要な要因の1つは、組立技術およびプロセスです。この工程は管理され、慎重に実行される必要があり、最終的に製造されるデバイスの健全性を保証します。JLCPCBは、各コンポーネントをその能力に基づいて基板上の配置位置にハンダ付けする全工程を担当することでPCB組立を提供し、エンジニアや企業の時間を大幅に節約します。 PCB組立プロセスはPCB製造の直後に行われ、コンポーネントの露出したパッドに必要な量のハンダペーストを塗布した後、次のリフロー工程のためにコンポーネントを配置し、回路組立を完成させます。こちらからPCB製造に関する総合ガイドをご確認いただけます。 JLCPCBにおけるPCB組立: JLCPCBのPCB組立サービスは、お客様の電子機器製造ニーズを満たす信頼性が高く効率的なオプションであり、手頃な価格で高品質な組立を提供することで、すべてのエンジニアの選択肢のトップに立つPCBAサービスです。 組立保証が多ければ多いほど回路基板の有効性が高まる、それがJLCPCB PCBAサ......
バンドから値へ:抵抗器のカラーコードの読み方
バンドから値へ:抵抗器のカラーコードの読み方 抵抗器は電子回路の重要な部品であり、電流の流れを制御します。抵抗器はさまざまな値、形状、物理的サイズで提供されています。実際には、2ワットまでの定格電力を持つほとんどすべてのリード付き抵抗器に、このような色帯のパターンがあります。抵抗器の本体にある色帯は、抵抗値、許容差、場合によっては温度係数に関する重要な情報を伝えます。 抵抗器には3本から6本の色帯があり、最も一般的なのは4本帯です。最初の帯は通常抵抗値の桁を示し、続く乗算帯で小数点の位置を調整します。最後の帯は許容差レベルと温度係数を示します。詳細な電子機器の説明については、新しい記事をご覧ください。 抵抗器の色コードとは? 抵抗器の色コードは、抵抗値と許容差を表すために抵抗器本体に色帯を用いた標準化されたシステムです。各色は数字に対応しており、抵抗値をオーム(Ω)で特定するのに役立ちます。各色帯の意味と計算方法を理解すれば、抵抗器の色コードの読み取りは簡単です。以下に抵抗器の色コードの詳細を示す簡単なチャートがあります: 4本帯抵抗器の色コード: 4本帯抵抗器の最初の2本の帯は、抵抗値の最初と2......