はじめに
今回はHC-06というBluetoothモジュールを使用し、PICAXEでBluetooth通信を試してみました。少し難しそうですが、実際にはシリアル通信するだけなので非常に簡単です。
開発環境
- Windows 11 Home 22H2
- PICAXE Editor 6.1.0.0
ハードウェアについて
以前に作った書き込み回路を流用しました。PICAXEのピンC.0は送信用、ピンC.1は受信用としてそれぞれHC-06のRXD、TXDに交差して結線し、シリアル通信します。
ソフトウェアについて
クロック周波数はデフォルトで4MHzとなります。ボーレートはクロック周波数に依存するため、デフォルトのままだとPICAXEのボーレートは最高でも4800bpsまでしか選択できません。HC-06のボーレートはデフォルトで9600bpsとなるため、今回はクロック周波数を8MHzまで引き上げました。シリアル通信の設定ではT9600_8
と指定します。ちなみに、先頭の英字がTだとアイドル状態でハイ、Nだとローに保持されます。つまり、必要に応じて極性を反転できます。また、中央の数字はボーレート、末尾の数字はクロック周波数を表します。
今回は受け取った文字をそのまま返すようなプログラムとしました。数字のみを返すように条件文で制限しています。また、チェックボックスにチェックを付け、文字列として受け取ると条件文では数字へ変換され、数値的に比較されてしまいました。受信の有無や文字の種類などを判定したいため、ASCIIコードとして比較できるようにチェックは外しています。ただし、受け取った文字列における先頭の文字しか変数には代入できなくなります。改行コードのCR、LFも付与しています。
動作確認
まずはスマホの設定からペアリングする必要があります。デフォルトのデバイス名はHC-06、PINコードは1234です。また、接続を待機している間はLEDが点滅し、接続が完了すると点灯します。今回はこちらのアプリから接続してBluetooth通信しました。正常に動作していることが確認できました。
おわりに
簡易的にBluetooth通信する場合、HC-06なら専用のライブラリなども不要なので非常に扱いやすかったです。
参考文献