2014年4月9日水曜日

RN-42使用 Bluetooth無線モジュール評価キット: Bluetooth経由でArduino上のLEDをコントロール

今回は、秋月電子で販売している「RN-42使用 Bluetooth無線モジュール評価キット」を購入してみました。Bluetoothを介してシリアル通信ができます。さっそく使ってみて、Arduinoと連携させました。

準備1: ArduinoとBluetooth無線モジュールの接続

まず、RN-42使用 Bluetooth無線モジュール評価キットに
  • ピンヘッダをハンダ付け
  • DIPスイッチの保護シールをはがして、すべてOFF側にセット
します。次に、Bluetooth無線モジュールとArduinoを以下のように接続します。


接続のポイントは下記の通りです。データシートをよく見て接続してください。
  • ArduinoとBluetoothモジュールの3.3V同士, GND同士を接続
  • ArduinoとBluetoothモジュールのTXDとRXDはクロス接続
  • BluetoothモジュールのRTSとCTSは直接つなぐ (文献[1][2])
  • Arduinoの3番ピンとBluetoothモジュールのResetを接続 (文献[1][2])

準備2: Arduino用ソフト

いったん、Digitalピンの0,1番を外します。Arduinoにソフトを書き込む際に、Digitalピンの0,1番がつながっているとソフトを書き込めません。

Arduinoには下記のファイルを書き込みます。
int BTReset = 3;
int LED = 13;
char inByte = 0;         // incoming serial byte

void setup() {
  // make the Bluetooth Module reset:
  digitalWrite(BTReset, LOW);
  delay(100);
  digitalWrite(BTReset, HIGH);
  delay(500);
  
  // initialize serial communication at 115200 bits per second:
  Serial.begin(115200);

  pinMode(LED, OUTPUT);  // make a LED pin output
}

void loop() {
  // if we get a valid byte, read analog ins:
  if (Serial.available() > 0) {
    // get incoming byte:
    inByte = Serial.read();
    if (inByte == '0') {
      digitalWrite(LED, LOW);
    } else {
      digitalWrite(LED, HIGH);
    }
    Serial.println(inByte); 
    delay(100);
  }
  delay(1);        // delay in between reads for stability
}
書き込めたら、再度、Digitalピンの0,1番を接続してください。

MacからBluetooth接続してシリアル接続

まず、Macの"Bluetooth"環境設定を開き、RNBT-DF42とペアリングします。

次に、ターミナルを起動してください。ターミナル中で
screen /dev/tty.RNBT-DF42-RNI-SPP 115200
と入力し、シリアルモニタ(screen)を起動します。Bluetooth無線モジュールの通信速度(ボーレート)はデフォルトで115.2kbpsなので、指定しておきます。
※なお、デバイス名の"RNBT-DF42-RNI-SPP"は変わる可能性があります。その際は /dev内を探してみてください。

シリアルモニタ起動中に、キーボードの'0'(ゼロ)を押すとArduinoのLEDが消灯します。キーボードの'0'以外を押すとLEDが点灯します。※下記写真では点灯状態が分かりやすいように、13ピンに赤色LEDを差しました。

シリアルモニタを終了するにはキーボードで "Ctrl+A Ctrl+¥" を入力し、"y" を押せばOKです。

参考文献

[1] 『PICで楽しむBluetooth・Wi-Fi機器の自作』後閑哲也著 技術評論社 (p.56, p.63)
[2]  "Bluetooth Data Module Command Reference & Advanced Information User’s Guide" Roving Networks. 2013 (p.45の真ん中あたり 3.3.0.2のところ)
[3]  "タブレットとつながる!カンタンI/O実験ボードの製作" 後閑哲也 インターフェース 2013年5月号  (p.59-61)  ← 本書の内容(接続法やソフトウェア)が文献[1]とちょっと違います。文献[1]のほうを参照した方が良さそうです。

2 件のコメント:

  1. すばらしいです。
    私は現在BT周辺に手を出そうと思っており、安価なモジュールで実験をしようと思っていました。ちょうどRN42に目をつけて、検索をしていたところ、ナイスな記事が・・・
    RN42を購入しても、問題ないことがわかりました。

    これからも、どうぞブログの更新を続けてみてください。

    返信削除
  2. 励ましの言葉をいただき、とても嬉しいです。
    どうもありがとうございます。

    返信削除