Project 7 Bluetooth Remote Control

1.説明

image-20250510083107283

このキットには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.ポート

420af966-aaa4-4736-9d35-2a9ccc7215f3

①STATE:ステータスピン

②RX:受信ピン

③TX:送信ピン

④GND:グランド

⑤VCC:電源

⑥EN:イネーブルピン

BTモジュールを開発ボードに接続します。

Uno

BT24

TX

RX

RX

TX

VCC

5V

GND

GND

5.コンポーネント

開発ボード *1

8833 モータードライバー *1

赤色LEDモジュール*1

img

img

img

3P デュポンワイヤー*1

USBケーブル*1

DX-BT24 Bluetoothモジュール*1

img

img

image-20250510083534209

6.配線図

image-20250510083927915

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」を検索し、アプリを携帯にダウンロードします。

image-20250510084716811

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

image-20250510084812821

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

image-20250510084902641 Androidシステム

(1). Google Playストアに入り、「keyes 4wd」を検索します。

image-20250510084916086

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

image-20250510084933465

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

image-20250510084946146

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

image-20250510085007028

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

image-20250510085026219

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

image-20250510085039562

キー

機能

img

DX-BT24 5.1 Bluetoothモジュールとペアリング

img

Bluetoothの切断

制御文字

制御文字

img

押す: F
離す: S

ボタンを押すと車が前進します;
離すと停止します

img

押す: L
離す: S

ボタンを押すと車が左に曲がります;
離すと停止します

img

押す: R
離す: S

ボタンを押すと車が右に曲がります;
離すと停止します

img

押す: B
離す: S

ボタンを押すと車が後退します;
離すと停止します

img

押す: “a”
離す: “S”

クリックで加速(最大値:255)

img

押す: “d”
離す: “S”

クリックで減速(最小値:0)

img

クリックで携帯電話の重力感知機能を開始
もう一度クリックで重力感知制御を終了

img

クリックで“X”を送信、
もう一度クリックで“S”を送信

ライントレース機能を開始;
もう一度クリックで終了

img

クリックで“Y”を送信、
もう一度クリックで“S”を送信

超音波回避機能を開始;
もう一度クリックで終了

img

クリックで“U”を送信、
もう一度クリックで“S”を送信

超音波追従機能を開始;
もう一度クリックで終了

img

クリックで“G”を送信、
もう一度クリックで“S”を送信

制限機能を開始;
もう一度クリックで終了

10.コード説明

Serial.available() : シリアルポートのバッファに現在残っている文字数を返します。一般的に、この関数はシリアルポートのバッファにデータがあるかどうかを判断するために使用されます。Serial.available() > 0 の場合、シリアルポートがデータを受信しており、読み取ることができることを意味します。

Serial.read() : シリアルポートのバッファから1バイトのデータを取り出して読み取ることを指します。例えば、デバイスがシリアルポートを通じてArduinoにデータを送信した場合、Serial.read()を使って送信されたデータを読み取ることができます。

11.拡張練習

ここでは、携帯電話から送信されたコマンドを使ってLEDライトをオンまたはオフにする方法を見ていきます。配線図を見ると、LEDはD9ピンに接続されています。

image-20250510085856954

//****************************************************************************
/*
 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ケーブルでコンピュータに接続してボードに電源を供給します。電源を入れたら、image-20250510085919039image-20250510085931709 をクリックしてLEDの点灯と消灯を制御します。