### プロジェクト16:Bluetoothリモートコントロール

#### **(1)概要:**
ここ数十年で、Bluetoothは使いやすさから最も人気の高い無線通信モジュールとなり、バッテリー駆動のほとんどのデバイスで広く活用されています。
時代や現実のニーズ、顧客の要望に応えるため、Bluetoothは何度もアップグレードされてきました。近年では、データ転送速度、ウェアラブルデバイスやIoTデバイスの消費電力、セキュリティシステムなど、多くの面で大きな変革を遂げています。ここでは、ArduinoボードとDX-BT24について学びます。
#### **(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:イネーブルピン
Bluetoothを開発ボードに接続する
| Uno | BT24 |
| :--: | :--: |
| TX | RX |
| RX | TX |
| VCC | 5V |
| GND | GND |
#### **(5)接続図:**

#### **(6)アプリのダウンロード:**
##### **iOS システムの場合**
1\. App Storeを開きます。
2\. Apple StoreでKeyesRobotを検索し、ダウンロードをクリックします。

3\. アプリがインストールされると、スマートフォンのデスクトップに以下のアイコンが表示されます。

**iOSスマートフォンをBluetoothモジュールに接続する方法:**
1\. 設定からスマートフォンのBluetoothと位置情報サービスをオンにします。

2\. 設定からKeyesRobot APPのBluetooth使用を許可します。

3\. KeyesRobot Appをタップして開きます。

4\. KeyesRobot Appは複数のkeyestudioロボットに対応したユニバーサルAPPです。インターフェースに「TANK ROBOT」が表示されていない場合は、左右ボタンをクリックして「TANK ROBOT」を見つけてください。
5\. 右上角のBluetoothボタンをクリックしてBluetoothをスキャンします。

6\. **BT24**という名前のBluetoothが表示されたら、Connectボタンをクリックします。

7\. BluetoothモジュールのオンボードLEDが点滅を止めて点灯し続けたら、スマートフォンがBluetoothモジュールへの接続に成功したことを意味します。

##### **Androidシステムの場合**
1\. Google Playで**KeyesRobot**を検索するか、以下のリンクを開いてアプリをダウンロード・インストールします。
[https://play.google.com/store/apps/details?id=com.keyestudio.keyestudio](https://play.google.com/store/apps/details?id=com.keyestudio.keyestudio)

2\. スマートフォンのBluetoothと位置情報サービスをオンにします。

3\. 設定からKeyesRobot Bluetooth appを見つけ、アプリの権限オプションをクリックして、位置情報と近くのデバイスの権限を有効にします。(注意:一部のスマートフォンには近くのデバイスの権限機能がない場合があります。)

4\. KeyesRobot Appをタップして開きます。

5\. KeyesRobot Appは複数のkeyestudioロボットに対応したユニバーサルAPPです。インターフェースに「TANK ROBOT」が表示されていない場合は、左右ボタンをクリックして「TANK ROBOT」を見つけてください。
6\. 右上角のBluetoothボタンをクリックしてBluetoothをスキャンします。

7\. **BT24**という名前のBluetoothが表示されたら、Connectボタンをクリックします。
8\. スマートフォンがBluetoothモジュールへの接続に成功すると、BluetoothモジュールのオンボードLEDが点滅を止めて点灯し続けます。


#### **(7)BTテストコード:**
以下のようにブロックをドラッグしてコードを編集することもできます。
(1)
(2)
(3)
(4)
(5)
**完全なテストコード**
(**注意:**コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードもシリアル通信を使用するため、Bluetoothシリアル通信と競合が発生し、アップロードに失敗する可能性があります。)

コードを開発ボードにアップロードしたら、Bluetoothモジュールを接続し、スマートフォンをBluetoothモジュールに接続します。
スマートフォンのBluetoothモジュールへの接続が成功したら、Bluetooth APPを開き、ホームページのSelectボタンをクリックします。

Bluetooth appのメインインターフェースは下図のとおりです。

をクリックして、ボーレートを9600に設定します。APPインターフェース上のアイコンをクリックすると、シリアルモニタにボタンから送信されたコマンドが表示されます。

**注意:APPの接続方法は以下と同様です。**
#### **(8)応用練習:**
上記のプロジェクトでは、BluetoothがスマートフォンからのシグナルをDX-BT24モジュールで受信し、開発ボードのシリアルポートに表示しました。ここでは、スマートフォンから送信されたコマンドを使ってLEDのオン・オフを制御します。配線図を見ると、LEDがD9ピンに接続されています。

以下のようにブロックをドラッグしてコードを編集することもできます。
(1)
(2)
(3)
(4)
(5)
(6)
**完全なテストコード**
(**注意:**コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードもシリアル通信を使用するため、Bluetoothシリアル通信と競合が発生し、アップロードに失敗する可能性があります。)

上記のコードが正常にアップロードされたら、をクリックしてLEDを制御します。

BTプロジェクトが終了したら、取り外してください。