1. 機器を準備する
必要なものは、ArduinoとUSBホストシールド2.0とBluetoothドングル。今回は、以下を使った。- Arduino Uno (3千円くらい)
- USB ホストシールド 2.0 (3千円くらい) → このために買ったんだけど2年くらい眠ってた
- BT-MicroEDR (当時2千円くらい)
USBホストシールドは2.0なものを選ばないとたいへんらしい。
2. つなぐ
USBホストシールドにBluetoothドングルを差して、Arduino Unoに重ねて、適当なデジタルピンにLEDと抵抗のセットをつなげばいい。ただし、デジタル8~13は使っているらしいので注意。今回は6番を使った。3. Arduino IDEの所定のディレクトリにzipを展開する
https://github.com/felis/USB_Host_Shield_2.0 から、zipアーカイブをダウンロードして、/usr/share/arduino/libraries/USB_Host_Shield_20 に展開する。4. SPPサンプルを開く
Arduino IDEのメニューからUSB_Host_Shield_20のBluetoothのSPPのサンプルを開く。5. ちょちょいと書き換えて転送する
サンプルはSerialとSerialBTでお互いにechoする感じなので、適当にif文を書き換えてdigitalWrite(ピン, HIGH/LOW); でチカチカさせるようにする。変更した部分はこんなかんじ(全体は最後に)。
if (SerialBT.available()) { char c = SerialBT.read(); if (c == '1') { digitalWrite(6, HIGH); } else { digitalWrite(6, LOW); } Serial.write(c); }
あとは転送する。
6. ペアリングして通信する
ターミナル的なソフトが使えれば、WindowsでもLinuxでもなんでもいいと思うけど、今回はAndroidとS2 Terminal for Bluetooth Free を使った。1とか0とか送ってチカチカすれば成功!
ソース全体でもこれだけ。eneloop スティックブースターで動くし、お手軽にライトな無線機器を作るのにいいと思う。
0 件のコメント:
コメントを投稿