LoT ラブオーティー

非モテ男の、非モテ男による、【女の子にモテたい】非モテ男のためIT活用ブログ

電子工作

WindowsとArduinoとBluetoothモジュール(HC-05/HC-06)の接続方法

更新日:



今回はWindowsとArduinoを

Bluetoothモジュールを通して

通信させる方法をご紹介します。



以外とすぐに出来るので、

是非試してみて下さい!



Bluetoothモジュールは、

安いと¥1,000円以下で買えますし、

高いと¥5,000円は超えます。



値段差の違いは、

Bluetoothの規格違い(ex. BLE)であったり、

スレーブとマスターどちらでもなれるか

などといった点があげられます。



今回は格安のBluetoothモジュールである

HC-05(HC-06)を用意しました。

アマゾンで¥1,000円もしないので格安です。

https://www.amazon.co.jp/dp/B01G9KSAF6/ref=cm_sw_em_r_mt_dp_U_qUqwEbVFESDWB



WindowsからBluetoothを介して、

Arduinoに接続された赤色LEDの

ON/OFF を遠隔操作しました。



パソコン側のBluletoothにON / OFFの情報を

Arduino側のBluetoothモジュールに送ります。

そして、その情報に応じてArudinoは

自身につながっているLEDを制御しています。




それでは作成していきましょう!


Arduinoにコードを書き込む


今回はデジタルピンの 10 と 11 を

シリアル通信用のピンとして使います。

LEDはデジタル6番ピンに接続しました。


シリアル通信用ピンをBluetoothと

名付けていますが、長いですね。

あくまで分かりやすくするためです。

bt と略して書いても良いでしょう。



Serial.begin()は不要ですが、

デバッグ用などとしてシリアルモニタに

値を出力した場合は、入れてください。



Bluetooth.available()は、

Bluetoothモジュールが接続済みかどうか

を判定します。したがってモジュールと

windowsがつながっていたらif文は進みます。



パソコン側(windows)からデータを送るので、

ArduinoはBluetoothモジュールと

通信するためのシリアルピン(10番ピン)から、

データを受け取ります。(Bluetooth.read)



パソコン側(windows)から

0が送られてきたらLEDをOFFにし、

1が送られてきたらLEDをONにします。




コードが書けたら次は、Arduinoと

Bluetoothモジュールを配線しましょう。


ArduinoとBluetoothモジュール(HC-05)の配線法



HC-05の端子は次のようになっています。

ちなみに実際に配線をするのは、

STATEとENを除いた4ピンのみです。

STATE:相手と接続されているかどうか
RXD:受信用ピン
TXD:送信用ピン
GND:グランド
Vcc:電源ピン
EN:モード


STATEは、相手のBluetoothモジュールと

接続されているかの状態をしめします。

されている→オンボードLEDがON

されていない→オンボードLEDがOFF



ENは、モードを設定します。

普通はデフォルトのデータモードを使います。



それとは別にATコマンドモードがあります。

ATコマンドは、モジュールの設定を

変更するためのデータを送る際に使用します。



Arduino、Bluetoothモジュール

そしてLEDを次のように接続します。


HC-05 Arduino
Vcc 5V
GND GND
TXD デジタル10番ピン
RXD デジタル11番ピン。1kΩと2.2kΩを挟む


LEDはカソード極をデジタル6番ピンに、

アノード極を100Ωを介してGNDにつなげます。

抵抗値は多少違っても大丈夫です。



配線が完了したら、

BluetoothモジュールとPC(Windows)を

ペアリング(お互い登録させること)します。




設定 > デバイス > Bluetoothまたはその他のデバイスを追加する



そしたら次の画面になります。


一番上にあるBluetoothをクリックします。



初めてペアリングする場合は、おそらく

「不明なデバイス」として検知されます。

不明なデバイスとして検知されても、

それをクリックしてPINを打ちます。



1 2 3 4 もしくは 0 0 0 0 の

どちらかです。私は1234でした。




ここまで出来たらあと少しです!

あとはPC側からデータを送るための

コンソールを用意します。

Bluetoothインタフェースに情報を

好き勝手送るために必要なものです。



デフォルトではWindowsに

搭載されていないのでインストールします。


Bluetooth Serial Terminal
https://www.microsoft.com/en-us/p/bluetooth-serial-terminal/9wzdncrdfst8?activetab=pivot:regionofsystemrequirementstab



動作環境が、Windows8.1となっていますが、

Windows10でも普通に動きました。




これをインストールまで出来たら準備完了です。

それでは実際にやってみましょう!


WindowsからArduinoにつながったLEDを制御する


まずはBluetooth Serial Terminalを

起動させて、Bluetoothモジュールと

Windowsを接続させます。


Bluetoothモジュールを選んで、

connectを押します。

するとすぐに接続します。



Bluetoothモジュール(ex. HC-05)が

他のデバイスとつながると、

そのモジュールに搭載している

LEDの点滅周期が変わります。



最後にTransmit FormatをHEXに変えて

0もしくは1を入力して送信するだけです。



ちなみに送信されるデータは

フォーマットよってバイナリが異なります。



フォーマットがStringであれば、

テキストデータを意味するので、

1と送信しても、それはAsciiコードに

置き換えられて、0x31が送信されます。



フォーマットがHEXであれば、

バイナリデータを意味するので、

1は0x01のままです。




実際に動かしたのが、

冒頭にある動画になっております。




以上です。

最後まで読んでいただきありがとうございました。

-電子工作

Copyright© LoT ラブオーティー , 2020 All Rights Reserved Powered by STINGER.