このプロジェクトでは、ラインフォロワーロボット、エッジ回避ロボット、DTMFロボット、ジェスチャー制御ロボットなど、いくつかの人気のあるロボットプロジェクトを開発した後、Bluetooth制御のロボカーを開発します。ここでは、Bluetoothモジュールを使用して車を制御しました。これは、Androidベースのアプリケーションでもあります。
コンポーネント
- Arduino UNO
- DCモーター
- BluetoothモジュールHC-05
- モータードライバーL293D
- 9ボルト電池と6ボルト電池
- バッテリーコネクター
- おもちゃの車
Bluetoothで制御される車は、ボタンやジェスチャーなどの他の方法ではなく、Android携帯電話を使用して制御されます。ここでは、Android電話のボタンに触れるだけで、車を前後左右に制御できます。したがって、ここではAndroidフォンが送信デバイスとして使用され、車に配置されたBluetoothモジュールが受信者として使用されます。Androidスマートフォンは、内蔵のBluetoothを使用してコマンドを車に送信し、前進、後進、左折、右折、停止などの必要な方向に移動できるようにします。
Bluetoothモジュール
HC Bluetoothモジュールは、BluetoothシリアルインターフェースモジュールとBluetoothアダプターの2つで構成されています。Bluetoothシリアルモジュールは、シリアルポートをBluetoothに変換するために使用されます。
Bluetoothモジュールの操作方法は?
Bluetoothモジュールの設定を変更する必要がないため、市場から購入した後、Bluetoothモジュールを直接使用できます。新しいBluetoothモジュールのデフォルトのボーレートは9600bpsです。rxとtxをコントローラーまたはシリアルコンバーターに接続し、モジュールに5ボルトのDC安定化電源を供給する必要があります。
Bluetoothモジュールには2つのモードがあり、1つはマスターモードで、もう1つはスレーブモードです。ユーザーは、いくつかのATコマンドを使用してどちらのモードも設定できます。ユーザーでもATコマンドでモジュールの設定ができます。以下にいくつかのコマンドの使用法を示します。
まず、BluetoothモジュールのENボタンを押すか、ENピンでHIGHレベルを指定して、38400bpsのボーレートでATモードに入る必要があります。注:すべてのコマンドは、\ r \ n(0x0dおよび0x0a)で終了するか、キーボードからENTERKEYで終了する必要があります。
その後、ATをモジュールに送信すると、モジュールはOKで応答します
AT→テストコマンド
AT + ROLE = 0→スレーブモード選択
AT + ROLE = 1→マスターモード選択
AT + NAME = xyz→Bluetooth名を設定
AT + PSWD = xyz→パスワードの設定
AT + UART =
例えば。AT + UART = 9600,0,0
加速度計のピンの説明
- 状態→開く
- Rx→シリアル受信ピン
- Tx→シリアル送信ピン
- GND→アース
- Vcc→+ 5ボルトDC
- EN→ATモードに入る
動作説明
このプロジェクトでは、デモンストレーションにおもちゃの車を使用しました。ここでは、左右のステアリング機能が動くRFおもちゃの車を選択しました。この車を購入した後、RF回路をArduino回路に交換しました。この車は、前面と背面に2つのDCモーターを備えています。フロントサイドモーターは、車に方向を与えるために使用されます(実際の車のステアリング機能のように)。また、リアサイドモーターは、車を前後方向に駆動するために使用されます。 BluetoothモジュールはAndroidスマートフォンからのコマンドの受信に使用され、ArduinoUNOはシステム全体の制御に使用されます。
Bluetooth制御の車は、AndroidBluetoothモバイルアプリでタッチされたボタンに従って移動します。このプロジェクトを最初に実行するには、GooglePlayストアからBluetoothアプリをダウンロードする必要があります。データをサポートまたは送信できるBluetoothアプリを使用できます。正しく機能する可能性のあるアプリの名前を次に示します。
-BluetoothSppプロ
-Bluetoothコントローラー
アプリをインストールした後、アプリを開いてBluetoothデバイスを検索し、目的のBluetoothデバイスを選択する必要があります。次に、キーを構成します。このプロジェクトでは、Bluetoothコントローラーアプリを使用しました。
- Bluetoothコントローラーをダウンロードしてインストールします。
- モバイルBluetoothをオンにしました。
- Bluetoothコントローラーアプリを開きます
- プレススキャン
- 目的のBluetoothデバイスを選択します
- 画面上の設定ボタンを押してキーを設定します。キーを設定するには、「設定ボタン」を押して、下の図に従ってキーを設定する必要があります。
キーを設定したら、[OK]を押します。
Bluetoothコントローラーアプリの進むボタンをタッチすると、車は前進方向に動き始め、次のコマンドが来るまで前進を続けます。
Bluetoothコントローラーアプリの戻るボタンをタッチすると、車は逆方向に動き始め、次のコマンドが来るまで逆方向に動き続けます。
Bluetoothコントローラーアプリの左ボタンをタッチすると、車は左方向に動き始め、次のコマンドが来るまで左に動き続けます。この状態では、フロントサイドモーターがフロントサイドホイールを左方向に回転させ、リアモーターが前進方向に回転します。
Bluetoothコントローラーアプリの右ボタンをタッチすると、車は正しい方向に動き始め、次のコマンドが来るまで右に動き続けます。この状態では、フロントサイドモーターがフロントサイドホイールを右方向に回転させ、リアモーターが前進方向に回転します。
そして、停止ボタンをタッチすることで、車を停止することができます。
回路図と説明
ブルートゥース制御車の回路図を上図に示します。モータードライバーがarduinoに接続されて車を走らせます。モータードライバーの入力ピン2、7、10、および15は、それぞれarduinoのデジタルピン番号12、11、10、および9に接続されています。ここでは、2つのDCモーターを使用して自動車を運転しました。1つのモーターはモータードライバー3と6の出力ピンに接続され、もう1つのモーターは11と14に接続されています。6ボルトのバッテリーは、モーターを駆動するためのモータードライバーに電力を供給するためにも使用されます。 。Bluetoothモジュールのrxピンとtxピンは、Arduinoのtxとrxに直接接続されています。また、BluetoothモジュールのvccとアースピンはArduinoの+5ボルトとgndで接続されています。また、ArduinoのVinピンの回路に電力を供給するために9ボルトのバッテリーが使用されています
プログラムの説明
プログラムでは、まずモーターの出力ピンを定義しました。
#define m11 11 //リアモーター#definem12 12 #define m21 10 //フロントモーター#definem22 9
そして、セットアップでは、ピン留めするように指示しました。
void setup(){Serial.begin(9600); pinMode(m11、OUTPUT); pinMode(m12、OUTPUT); pinMode(m21、OUTPUT); pinMode(m22、OUTPUT); }
この後、Bluetoothモジュールからのシリアル通信を使用して入力を読み取り、それに応じて操作を実行します。
void loop(){while(Serial.available()){char ch = Serial.read(); str = ch; if(str == '1'){Serial.println( "Forward"); forward(); i = 0; } else if(str == '2'){Serial.println( "Left"); 正しい(); i = 0; } else if(str == '3'){Serial.println( "Right"); 左(); i = 0; }
次に、車のさまざまな方向の関数を作成しました。このBluetooth制御車には、指示を与えるために使用される5つの条件があります。
Bluetoothコントローラーアプリのタッチボタン |
方向を与えるフロントサイドモーターの出力 |
後側モーターが前後方向に移動するための出力 |
|||
ボタン |
M11 |
M12 |
M21 |
M22 |
方向 |
やめる |
0 |
0 |
0 |
0 |
やめる |
フォワード |
0 |
0 |
0 |
1 |
フォワード |
後方 |
0 |
0 |
1 |
0 |
後方 |
正しい |
1 |
0 |
0 |
1 |
正しい |
左 |
0 |
1 |
0 |
1 |
左 |