概要
Arduino Pro mini と BLESerial2 を使ってブレッドボード上で配線し簡単なビーコンを作成してみました
環境
- Arduino Pro mini
- Arduino IDE 1.6.9
- BLESerial2
- リチウムイオンポリマー電池400mAh
- 2ピンJST-PHコネクタ・ピッチ変換基板(スイッチ付き)
- ジャンパケーブル
- 抵抗 470 Ω x 2
- タクトスイッチ x 2
- ブレッドボード
全体図
全部配線した感じは以下の通りです
自分にはプリント基板化する力がないのでブレッドボード上に配線しました
スケッチ
タクトスイッチを 2 つ配線しているのでその信号を取得するロジックと、その情報を BLESerial2 に渡す部分を実装しています
BLESerial2 とはシリアルで通信するだけなのでスケッチも非常に単純になります
int s0 = 3;
int s1 = 5;
void setup() {
pinMode(s0, INPUT);
pinMode(s1, INPUT);
Serial.begin(9600);
}
void loop() {
if (digitalRead(s0) == HIGH) {
Serial.write(s0);
} else if (digitalRead(s1) == HIGH) {
Serial.write(s1);
}
delay(200);
}
Arduino IDE で上記スケッチを Arduino Pro mini に書き込めば OK です
書き込みは「FTDI USBシリアル変換アダプター」を使いました
動作確認
ST-PHコネクタにスイッチが付いているので ON にすると電源が入ります
アドバタイジングで表示されるデバイス名は「BLESerial2」になります
今回 2 つのスイッチをつけています
それぞれ Arudino Pro mini の 3, 5 番ピンにつながっており、押したとき (HIGH になったとき) にその情報を BLESerial2 に送っています
こうすることで BLESerial2 とペアリングしたデバイス側で Notify の値として信号を受け取ることができます
LightBlue を使うと以下のようにスイッチの情報を取得することができます
最後に
BLESerial2 を使った自作ビーコンを紹介しました
ブレッドボードには収まっているので持ち運びすることもできると思います
また、今回電源はリチウムイオンポリマー電池を使っているので充電しなおせば何度も使用することができます
ビーコンは CR232 などのボタン電池を使うケースが多いのですが、今回は Arduino Pro mini のマイコンを使っているのでボタン電池では動きませんでした
あとは、スイッチ (Notify) の部分しか実装していないのでマイコン側を制御する流れ (Write) も作ると面白いかなと思っています
0 件のコメント:
コメントを投稿