入門編で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でもつなげられるようになんとかやってみたい。