見出し画像

Bluetooth(HC-05) (2) 無線通信

今回は、AndroidスマホとのBluetooth無線通信をやってみます。

準備

前回、

ATコマンドいじっていますが、

>AT+ORGL

で、工場出荷状態に戻したところから改めてもう一度。このコマンド実行すると、ATコマンドモードを抜けてしまいます。さらにATコマンドを使うなら

画像1

モジュール基板上のボタン押しながら通電をやり直して、ATコマンドのモードに入る必要があります。

ATコマンドモードのときは、モジュール基板上のLEDがこんな感じでゆっくり点滅します。

まあ、スレーブモードで通信するだけなら工場出荷状態のまま、ATコマンドモードに入る必要はないでしょう。

基板上のボタンを押さずに通電すれば、Bluetoothのぺアリング待機状態になります。基板上LEDがこんな風に高速点滅します。

なお、ATコマンドのモードでなければ、(工場出荷状態で9600bpsである私のHC-05の場合) ArduinoMegaのスケッチは

void setup() {
 Serial.begin(9600);
 Serial2.begin(9600); //38400ではない
}

void loop() {
if(Serial2.available() > 0){
  Serial.write(Serial2.read());       
}
if(Serial.available() > 0){
  Serial2.write(Serial.read());       
}
}

となります。(Serial2の速度に注意)

Androidスマホ側の準備

私はPlay ストアから、Kai Morichさんの「Serial Bluetooth Terminal」をインストールしました。

ペアリングが完了すると基板上のLEDは2回点滅をゆっくり繰り返します。

通信テスト

繋がったら、スマホ側、Arduino側それぞれから文字列を送って、

画像2

画像3

文字列が双方向に送られていることが確認できました。Serial Bluetooth Terminalで緑色の字は送られてきた情報水色の字は送った情報です。

Arduino IDEの シリアルモニタは送信内容が残らず、受信した文字列だけが表示されています。

これで、自作ラジコンにむけて一歩前進したかな。次は応用を考えてみたいと思います。




いいなと思ったら応援しよう!