Arduinoを始めよう!(3)Bluetooth編

2013年3月6日(水)
藤原 敬弘

ArduinoとBluetoothの接続

半田付けの難関を突破すれば、後は簡単です。次のようにArduinoとBluetoothモジュールを接続します。

ArduinoとBluetoothモジュールの接続図(クリックで拡大)

接続したら、AC-DCアダプタをArduinoに接続します。ArduinoにAC-DCアダプタを接続し、Bluetoothモジュールが赤色に点滅していれば問題ありません。

実際に接続したところ。Bluetoothモジュールが赤く点滅すれば成功(クリックで拡大)

プログラムの転送と実行

BluetoothのRX/TXケーブルを一度抜き、次のプログラムをArduinoに転送します。このプログラムはBluetooth用に通信速度を変更しただけで、第3回のシリアル通信プログラムとまったく同じものです。

  void setup() {
    Serial.begin(115200);
    pinMode(13, OUTPUT);
  }
 
  void loop() {
    if (Serial.available() > 0) {
      char c = Serial.read();
      if (c == 'n') {
        digitalWrite(13, HIGH);
      } else if(c == 'f') {
        digitalWrite(13, LOW);
      }
    }
  }

プログラムをArduinoに転送したら、一度USBケーブルを抜き、BluetoothのRX/TXケーブルを再度、接続します。これはBluetooth経由でシリアル通信を行うためです。USBケーブルを抜いたら、リセットボタンを使って一度、転送したプログラムをリセットしておきます。

プログラム転送したらUSBケーブルを抜いて一度リセットする(クリックで拡大)

BluetoothモジュールとPCの接続

ここではMacとBluetoothモジュールを接続する手順を説明します。まず、システム設定からBluetoothの設定を開きます。

Bluetoothの設定画面(クリックで拡大)

ここではFireFly-AD3BというIDのデバイスが表示されているので、これを選択します。このFireFly-AD3Bは購入したモジュールによって異なるので、それらしいデバイスを選択してください。パスコードは1234です。最後に次の画面が出れば、接続成功です。

Bluetoothモジュールの接続が成功したところ(クリックで拡大)

接続に成功したら、シリアル通信の口を開きます。Bluetoothの設定画面に戻り、左下の設定ボタンをクリックして、"シリアル通信の編集"を選択します。

シリアル通信の編集画面(クリックで拡大)

接続に成功した趣旨のメッセージが表示されれば、接続完了です。

接続完了(クリックで拡大)

これでBluetoothモジュールとMacの接続完了です。

続いて、このBluetoothモジュールを経由して、文字列を送信します。IDEに付属したコンソールではBluetooth経由での通信ができないので、Macに付属したターミナルを利用します。ターミナルを開き、次のコマンドを打ち込みます。プロンプトがなくなり、まっさらな画面になれば成功です。FireFly-AD3Bの部分は、自分のBluetoothモジュールのIDに置き換えてください。

  screen /dev/tty.FireFly-AD3B-SPP
文字列の送信を試してみる(クリックで拡大)

この状態になれば、Bluetooth経由で文字をArduinoに送ることができます。試しに、nをタイプしてください。Arduino UNO付属のLEDが光ります。

"n"をタイプするとArduino UNO付属のLEDが点灯する(クリックで拡大)

続いて、fをタイプしてください。先ほど光っていたLEDが消灯します。

"f"をタイプするとArduino UNO付属のLEDが消灯する(クリックで拡大)

これで無事、Bluetooth経由で文字を送ることができました。

Windowsで接続したい場合は、"Windows Arduino Bluetooth”で検索すると情報が出てきます。基本的にはMacと同じ手順なので、ここで紹介した手順を参考にしつつ、トライしてみてください。

[tips] Arduino UNO付属のLED

実は、Arduino UNOにはLEDが予め、13番ピンに取り付けられています。第2回、第3回の記事では読者が理解しやすいように、赤色LEDを13番ピンに取り付けましたが、Arduino UNOに付属したLEDを利用すれば、これは不要です。デバッグにも使えるので、是非、色々と活用してみください。

FULLER株式会社

1986年生まれ。北海道苫小牧市出身。苫小牧工業高等専門学校卒業。
Fuller, Inc. CTO
Webプログラマ、よく利用する言語はPython。Pythonコミュニティによく出没する。
趣味でArduinoやRaspberry Piなどを使って、便利なものを自作する。

twitter: @wutali / github: https://github.com/wutali

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています