このプロジェクトでは,Arduinoを使ったBluetooth制御ロボット,Hc-05Bluetoothモジュール,L298Nモータードライバモジュールを使ったBluetooth制御ロボットの設計・開発方法を紹介します. Bluetooth通信のもう一方の端では、スマートフォンとシンプルなAndroidアプリを使用してロボットカーを制御します。

概要
はじめに
ロボットは、常に学生、愛好家やDIYersのための空想のトピックです。 あなたが初心者であれば、(車や腕のような)ロボットを構築することは、おそらく基本について学んだ後に行うべき重要なプロジェクトの一つです。
以前のチュートリアルを覚えていれば、HC-05BluetoothモジュールとArduinoとのインターフェイス方法について説明しました。 また、私はあなたのAndroid携帯電話にインストールし、データの送信を開始することができ、シンプルなBluetoothコントローラアプリを提供しています。
そのプロジェクトの続きとして、私はArduinoや他のいくつかのコンポーネントを使用してBluetooth制御ロボットを実装し、Bluetooth通信を介して(アプリを介して)Android携帯電話を使用して制御できる簡単なロボットカーを構築することになります。
Bluetoothコントローラロボットの前提条件
プロジェクトの主な制御モジュールであるArduinoとは別に、Bluetooth制御ロボットプロジェクトを実装するためには、他の二つの重要なモジュールがあります。
HC-05BluetoothモジュールとL298Nモータドライバモジュールです。
HC-05Bluetoothモジュール

HC-05Bluetoothモジュールは、ArduinoとAndroid携帯電話間のBluetooth通信を可能にする役割を果たします。
Hc-05Bluetoothモジュールの詳細については、HC-05BLUETOOTHモジュールを参照してください。
L298Nモータドライバモジュール

L298Nモータードライバモジュールは、ロボットカーのモータに必要な駆動電流を供給する役割を果 私はl298Nモジュールに関する情報をl298Nを使用したArduino DC Motor Controlと呼ばれる以前のプロジェクトで提供しました。
L298NとArduinoとのインターフェイスの詳細については、L298Nを使用したARDUINO DC MOTOR CONTROLを参照してください。
: 先に進む前に、上記の2つのプロジェクトを参照することを強くお勧めします。
Bluetooth制御ロボットの回路図
以下は、Arduino、L298N、HC-05を使用したBluetooth制御ロボットの回路図です。

必要な部品
- Arduino UNO
- L298Nモータドライバモジュール
- Hc-05Bluetoothモジュール
- ロボットシャーシ
- 4x5Vギアードモータ
- 4x5Vギアードモータ
- 接続ワイヤー
- バッテリーホルダー
- 電源
- ANDROID携帯電話
- BLUETOOTHコントローラーアプリ
注: 私はロボットのモーターを駆動するためにL298Nモータードライバモジュールを使用しました。 この1つまたはL293Dモーター運転者モジュールを使用できます。 L293Dを使用している場合は、接続を確認してください。
回路設計
あなたのロボットシャーシは私のものとは異なるかもしれないので、ロボットの構築の詳細には触れませんし、利用可能な部品と可能なケー
回路の設計に来て、最初はHc-05Bluetoothモジュールです。 Bluetoothモジュールの+5VとGNDピンはArduinoの+5VとGNDに接続されています。<6523><9091>ロボットの動きに関するデータをAndroid携帯からBluetoothモジュールにのみ送信し、Arduinoからデータを受信するつもりはないので、BluetoothモジュールのTXピンのみをArduinoのRXピンに接続します。
ArduinoのこのRXピンはSoftwareSerialライブラリに基づいています(ピン2とピン3はARDUINOでRXとTXとして設定されています)。 BluetoothのRXピンは開いたままにします。

さて、L298Nモータードライバモジュール。 ArduinoのデジタルI/Oピン9から12は、モータドライバの入力ピンとして構成され、L298NモータドライバモジュールのIN1からIN4に接続されています。 両方のイネーブル端子は、提供されたジャンパを介して5Vに接続されています。
このBluetooth制御ロボットカープロジェクトで使用しているロボットシャーシには、4つのギヤードモーターが付属しています。 L298Nには2つのモーターのみのスロットがあるため、左側のモーターを1つのセットとして、右側のモーターを他のセットとして結合し、両方のセットをL298Nモジュールの出力に接続しました。
Code
Bluetooth制御ロボットプロジェクトのArduinoコードを以下に示します。
Androidアプリ
HC-05Bluetoothモジュールチュートリアルを覚えていれば、私はBluetoothモジュールと通信するためにAndroid携帯電話にインストールされているBluetoothコントローラと呼ばれる簡単なアプリを使用していました。
このプロジェクトでは、送信するデータに変更を加えた同じアプリを使用しています。
注:Bluetoothコントローラアプリをダウンロードするためのリンクは、HC-05Bluetoothモジュールチュートリアルで提供されています。 アプリをダウンロードするには、そのチュートリアルを参照してください。
Working
ロボットを組み立て、必要な接続を行い、コードをArduinoにアップロードします。 HC-05Bluetoothモジュールのチュートリアルを理解していれば、Bluetooth制御ロボットプロジェクトを理解するのは非常に簡単です。
まず、Androidアプリでは、Forward、Reverse、Left、Right、Stopの5つのキーを使用しました。 各キーに関連付けられた対応するデータは次のとおりです:
- フォワード–1
- リバース-2
- 左-3
- 右-4
- 停止– 5
キーを押すと、対応するデータがBluetooth通信を介して電話からBluetoothモジュールに送信されます。

Arduinoのコードでは、Arduino UNOは(押されたキーごとに)Bluetoothモジュールからこのデータのいずれかを受信し、各ケースは、モータードライバ入力ピンに適切な命令に関連付けられている簡単なスイッチケース操作を実行します。
例えば、Androidフォンで”Forward”キーを押すと、”1″が送信されます。 Arduinoは、前進運動を達成するためにIN1とIN3を高く、IN2とIN4を低くします。
同様に、他のキーはIN1–IN4ピンの適切な設定に対応しています。
制限事項
- Bluetooth通信の範囲が制限されているため(クラス2機器などでは最大10メートル)、Bluetooth制御ロボットの制御範囲も制限されています。
- すべてのモジュール、特にBluetoothモジュールに十分な電力が供給されていることを確認してください。 電源が十分でない場合は、Bluetoothモジュールの電源が入っていても、データを送信したり、他のBluetoothデバイスとペアリングしたりすることはできません。
アプリケーション
- 低域モバイル監視デバイス
- 軍事アプリケーション(人間の介入なし)
- 支援デバイス(車椅子など)
- ホームオートメーション