2014年2月2日日曜日

Bluetooth mate Goldとの接続

入門編でLEDチカチカ(Lチカ)とかをやっているのを、ブログにのせるのが一般的でしょうが、省略(あくまでも備忘録なので)

ここではBluetooth Mate GoldとArduinoを繋いで、Bluetooth経由でLチカさせることをやることとします。
Bluetooth mateは買った状態だと、ピンもソケットも着いていないので、半田でつけておきます。今回はブレッドボード用にストレートピン6本。

Bluetooth mateとArduinoとの接続に必要な線は4本。Arduino側にRTS/CTSのポートは無いようなので、RX、TX、VCC、GNDの4本だけ繋ぎます。

繋ぐ先は下記の通り。ただし、Arduinoに書き込むときにはTX/RXは一旦外す。
Bluetooth ⇔ Arduino
TX                   Digital 0
RX                   Digital 1
Vcc                  POWER 3.3V
GND                 GND

今回のスケッチは、Bluetooth経由で入力送り、Arduinoに繋ぐLEDをつける。ついでにSerialでArduinoから情報受け取り表示するということまでやってみる。

以下スケッチ。LEDは13に直
const int LED = 13;
int i =0;

void setup(){
  Serial.begin(115200);
  pinMode(LED,OUTPUT);
}

void loop(){
  if (Serial.available() > 0){
    char c = Serial.read();
    if (c == 'n'){
      digitalWrite(13,HIGH);
      Serial.println("Turned ON the LED!!");
    } else if (c == 'f'){
      digitalWrite(13,LOW);
      Serial.println("Turned OFF the LED!!");
    } else if (c == 'b'){
      Serial.println("Blinking LED 10 times");
      for (i = 0; i < 10; i++) {
        digitalWrite(13,HIGH);
        delay(200);
        digitalWrite(13,LOW);
        delay(200);
        Serial.println(i);
      }
    }
  }
}

Arduinoに書き込む際にはRX/TXを一旦外さないとエラーで書き込めません。
書き込んだらUSBは外して9V電池で繋ぎArduino起動。

ここまでは簡単ですが、この後Bluetooth接続がうまくいかず、いろいろはまりました。

使っているPCがMac OS X Marvericksにあげてしまったので、どうやらBluetoothからSPPが使えなくなった様子。Macの環境設定からBluetooth設定でその辺りが消えたとのこと。


Appleのフォーラムでも同じような話題であったので、手持ちのAndroidでbtchat経由での接続を試みたものの、ペアリングはできても、接続が確立せず。

改めて、Macから接続を再度挑戦。
ペアリング自体がなかなか上手く行かないものの、何度か試して接続確立。
その後Ztermをshiftキーを押しながら起動することで、どのシリアルポートを使うか選択ができるようになるので、ここからペアリングしたデバイスを直接選択。
今回のデバイスではRNBT-25ABという名前になっていたので、これに接続。

これでようやく接続確立。これでコントロールできるか試してみます。
Macのキーボードのnを押すとLED点灯、fを押すとLED消灯、bで10回点滅という流れ。
キー入力で、シリアルに返事があるようにしているので、送っているだけでなく受信のチェックも同時にやってしまう。

一度接続が確立すれば後はなんとかなるね。
問題はZtermがシェアウエアで20ドルもするので、ほかの方法考えて安くできるように考えたい。

今後はAndroidでもつなげられるようになんとかやってみたい。

Arduinoを買いました

最近KickStarter見ていて、工作熱が再燃したので電子工作をやってみようと思いArduinoを購入。
Amazonで見ると、いくつかスターターキットがでていたので、評判的にPhysical Computing LabのArduinoエントリーキット、拡張キットを購入。

Arduino本体はArduino UNO R3
それ以外に、ブレッドボード、LED類、ワイヤー類、センサー類など、ひとまずどんなものかを理解するためのパーツ類はある程度そろった。

PCとの接続は基本的にUSBで接続。最終的にリモコンのおもちゃ作りたいので、Bluetoothモジュールを追加で購入。
SparkfunのBluetooth mate goldを購入。

当面の目標はサーボモータを使ってロボットアーム、もしくはDCモーターつかってラジコン的なもの作ることまでをやってみようかと思います。