Arduino Bluetooth RN4020で通信

有線通信飽きてきた(え

てことで今回は無線通信で有名なBluetoothモジュールを試してみるよ。

用意するもの


  1. Arduino nano
    5個入りArduinoお得だよ!
  2. Arduino UNO
    【永久保証付き】Arduino Uno
  3. ジャンパー
  4. Bluetoothモジュール RN4020 2台(技適済)秋月電子
  5. レベルシフタIC(前回同様に必要)

RN4020モジュールについて


Microchip Technology社のBluetoothモジュールです。UARTでコマンドを送るだけで制御できます。また、I2Cを備えており、そこへ外部センサを取り付けることでマイコン側の使用ピンを抑えることも出来るようです。

RN4020の2台接続については公式サイトにサンプルが載っていますので、今回はそれを利用して確認してみます。

それと、重要なのが技適(技術基準適合証明取得済み)が通ってることです。これがない物で電波を飛ばすと違法になります。(妨害された側が訴えると適用されるらしい。

Amazonで売られている低価格(特に1000円以下)モジュールは、大体技適がないので駄目です。どうしても買ってみたいという方は、一度販売者に問い合わせるといいかも知れません。

それにしても、7,8年前と比べると1/10くらい値段が安くなりましたね。前は5円玉サイズが1.5万円とかでしたから…。

回路構成を考える


  • セントラル側

RN4020に5V電源を入れていますが、内部レギュレーターで3.3Vに降圧しているため信号系はすべて3.3Vとなります。前回同様、レベルシフタで安全に通信しましょう。

また、通信インターフェイスがUARTです。既にPCとの通信用に使用されているため初めて利用するソフトウェアシリアルでコマンドを送ります。ピンの位置は特定の範囲内ならどこにでも設定できますが、今回はRXが10,TXが11として進めていきます。RN4020の接続先にはシルクで信号が記載されていますのでそれに合わせて接続してください。

他にMLDPと言う信号を接続します。接続先はRN4020のJP2となります。

回路1

  • ペリフェラル側

こちらはMLDP信号がないだけで他は同じ回路となります。

回路2

プログラミングをする


参考は公式サイトより:SoftwareSerial Library

プログラムは長くなってしまったので別途記事を載せます。

コマンドについて


RN4020は簡易的なコマンドで設定が行えます。

日本語版のユーザーガイドもありますので使用する際は目を通してください。

RN4020 ユーザーガイド:リンク先 秋月電子

動作結果


ペリフェラル側は電源投入後、初期化を行った後に待機状態になります。

セントラル側は初期化後にペリフェラル側の検索を行います。

検索で見つかったデバイスのIDを表示し接続するか聞いてきます。

接続を実行するとペリフェラル側とセントラル側が接続されテキストなどで通信が出来ます。

下記、TeraTerm上で操作記録を載せておきます。

2018-01-20 (9)

2018-01-20 (10)

“[“キーを入力することで接続が切断されます。

セントラル側は再度検索を行い再び接続することも出来ます。

スポンサーリンク







シェアする

フォローする

スポンサーリンク