Project 7 Bluetooth Remote Control
1.説明

このキットにはDX-BT24 5.1 Bluetoothモジュールが含まれています。このBluetoothモジュールは256Kbのメモリを持ち、V5.1BLE Bluetooth仕様に準拠しており、ATコマンドをサポートしています。ユーザーは必要に応じてシリアルポートのボーレートやデバイス名などのパラメータを変更できます。
さらに、UARTインターフェースとBluetoothシリアルポートの透過伝送をサポートしており、低コスト、小型、低消費電力、高感度の送受信の利点も備えています。特に、強力な機能を実現するために必要な周辺部品はわずかです。
2.仕様
Bluetoothプロトコル: Bluetooth Specification V5.1 BLE
動作距離: 開放環境で40mの超長距離通信が可能
動作周波数: 2.4GHz ISMバンド
通信インターフェース: UART
Bluetooth認証: FCC CE ROHS REACH認証基準に準拠
シリアルポートパラメータ: 9600、8データビット、1ストップビット、パリティなし、フロー制御なし
電源: 5V DC
動作温度: –10℃ ~ +65℃
3.用途
DX-BT24モジュールはBT5.1 BLEプロトコルもサポートしており、BLE Bluetooth機能を持つiOSデバイスに直接接続でき、バックグラウンドプログラムの常駐実行もサポートします。主に短距離データの無線伝送分野で使用され、煩雑なケーブル接続を回避し、シリアルケーブルの直接置き換えが可能です。
BT24モジュールの成功した応用分野:
※ Bluetooth無線データ伝送;
※ 携帯電話、コンピュータ周辺機器;
※ ハンドヘルドPOS機器;
※ 医療機器の無線データ伝送;
※ スマートホーム制御;
※ Bluetoothプリンター;
※ Bluetoothリモコン玩具;
※ 共有自転車;
4.ポート

①STATE:ステータスピン
②RX:受信ピン
③TX:送信ピン
④GND:グランド
⑤VCC:電源
⑥EN:イネーブルピン
BTモジュールを開発ボードに接続します。
Uno |
BT24 |
|---|---|
TX |
RX |
RX |
TX |
VCC |
5V |
GND |
GND |
5.コンポーネント
開発ボード *1 |
8833 モータードライバー *1 |
赤色LEDモジュール*1 |
|---|---|---|
|
|
|
3P デュポンワイヤー*1 |
USBケーブル*1 |
DX-BT24 Bluetoothモジュール*1 |
|
|
|
6.配線図

BTモジュールのRXD、TXD、GND、VCCはそれぞれTX、RX、G、5Vに接続します。
BTモジュールのSTATEとBRKは接続不要です。
注意:BTモジュールを8833ボードに挿入する際の向きに注意してください。コードをアップロードする前に挿入しないでください。
7.テストコード
注意: テストコードをアップロードする前にBluetoothモジュールを取り外す必要があります。そうしないとコードのアップロードに失敗します。コードのアップロードが成功した後にBluetoothモジュールを接続してください。
//***********************************************************************
/*
keyestudio 4wd BT Car
lesson 7.1
Bluetooth
http://www.keyestudio.com
*/
char ble_val; //character variable, used to store the value received by Bluetooth
void setup() {
Serial.begin(9600);
}
void loop() {
if(Serial.available() > 0) //シリアルバッファにデータがあるか確認
{
ble_val = Serial.read(); //シリアルバッファからデータを読み取る
Serial.println(ble_val); //表示
}
}
//***********************************************************************
8.テスト結果
コードをV4.0ボードに正常にアップロードした後、配線図に従って配線を接続し、USBケーブルでコンピュータに接続してボードに電源を供給します。電源を入れた後、BTモジュールを挿入するとLEDが点滅し、その後BTアプリをダウンロードする必要があります。
9.Bluetoothアプリのダウンロード
Appleシステム
(1). iPhoneのApp Storeを開きます。
(2). 「keyes BT car」を検索し、アプリを携帯にダウンロードします。

(3). インストール後、アプリのインターフェースに入ります。

(4). 左上の「Connect」ボタンをクリックしてBluetoothを自動検索します。BT24が見つかったら「Connect」をクリックしてBluetoothに接続し、次に
をクリックして4WDスマートカーの制御インターフェースに入ります。
Androidシステム
(1). Google Playストアに入り、「keyes 4wd」を検索します。

(2). インストール後のアプリアイコンは以下の通りです。

(3). アプリをクリックして以下のページに入ります。

(4). Bluetoothに接続した後、電源を入れるとBluetoothモジュールのLEDインジケーターが点滅します。「Connect」をタップしてBluetoothを検索します。

(5). BT24が見つかったら「Connect」をクリックしてBluetoothに接続します。「Connect」が「is Connected」に変わればBluetooth接続成功を示します。下の画像のようにBluetoothのLEDが点灯したままになります。

(6). Bluetoothモジュールに接続した後、シリアルモニターを開き、ボーレートを9600に設定します。Bluetoothアプリのボタンを押すと、対応する文字が表示されます。以下の通りです:

キー |
機能 |
|---|---|
|
DX-BT24 5.1 Bluetoothモジュールとペアリング |
|
Bluetoothの切断 |
制御文字 |
制御文字 |
|
|---|---|---|
|
押す: F |
ボタンを押すと車が前進します; |
|
押す: L |
ボタンを押すと車が左に曲がります; |
|
押す: R |
ボタンを押すと車が右に曲がります; |
|
押す: B |
ボタンを押すと車が後退します; |
|
押す: “a” |
クリックで加速(最大値:255) |
|
押す: “d” |
クリックで減速(最小値:0) |
|
クリックで携帯電話の重力感知機能を開始 |
|
|
クリックで“X”を送信、 |
ライントレース機能を開始; |
|
クリックで“Y”を送信、 |
超音波回避機能を開始; |
|
クリックで“U”を送信、 |
超音波追従機能を開始; |
|
クリックで“G”を送信、 |
制限機能を開始; |
10.コード説明
Serial.available() : シリアルポートのバッファに現在残っている文字数を返します。一般的に、この関数はシリアルポートのバッファにデータがあるかどうかを判断するために使用されます。Serial.available() > 0 の場合、シリアルポートがデータを受信しており、読み取ることができることを意味します。
Serial.read() : シリアルポートのバッファから1バイトのデータを取り出して読み取ることを指します。例えば、デバイスがシリアルポートを通じてArduinoにデータを送信した場合、Serial.read()を使って送信されたデータを読み取ることができます。
11.拡張練習
ここでは、携帯電話から送信されたコマンドを使ってLEDライトをオンまたはオフにする方法を見ていきます。配線図を見ると、LEDはD9ピンに接続されています。

//****************************************************************************
/*
keyestudio smart turtle robot
lesson 7.2
Bluetooth LED
http://www.keyestudio.com
*/
int ledpin=9;
char ble_val;// Bluetoothで受信した値を格納するための文字変数
void setup()
{
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
}
void loop()
{
if (Serial.available() > 0) // シリアルポートのキャッシュにデータがあるか確認
{
ble_val = Serial.read(); // シリアルポートのキャッシュからデータを読み取る
Serial.print("DATA RECEIVED:");
Serial.println(ble_val);
if (ble_val == 'F') {
digitalWrite(ledpin, HIGH);
Serial.println("led on");
}
if (ble_val == 'B') {
digitalWrite(ledpin, LOW);
Serial.println("led off");
}
}
}
//****************************************************************************
コードをV4.0ボードに正常にアップロードした後、配線図に従って配線を接続し、USBケーブルでコンピュータに接続してボードに電源を供給します。電源を入れたら、
と
をクリックしてLEDの点灯と消灯を制御します。


















