LoginSignup
24
24

More than 5 years have passed since last update.

ArduinoでBluetoothを使ってハマったこと(解決)

Last updated at Posted at 2014-06-24

ArduinoとAndroid端末の通信を行う前段階として、ArduinoとPCにて通信を行おうとしたところ、うまくいかない。
まだ解決していないがメモ。うまく行ったら記事更新します。

6/26追記:無事通信できたのでまとめなおしました。

環境

  • Arduino Uno
  • IDE 1.0.5
  • Bluetoothモジュール RN41
  • Mac OS 10.9.3

手順

基本的にhttp://thinkit.co.jp/story/2013/03/06/3995を参考とした。

RN41とArduinoを接続

  • RX1(受信器)⇒TX(送信機)
  • TX⇒RX
  • vcc⇒vin※1
  • GND⇒GND

残り2本のピンは使わない

Arduinoにプログラムの書き込み

  • プログラムを書き込む際にはTXとRXは外しておく(書き込めない)。
  • プログラムは通常のシリアル通信と同様。Bluetoothのバンドがデフォルトで115200になっているので、シリアル通信のバンド115200にセットするだけでよい。 //original http://thinkit.co.jp/story/2013/03/06/3995/page/0/1 //n押すとArduino付属の13番のLEDが光り,fを押すと消える 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);} } }

PCにてBluetoothをペアリング

  • 環境設定からbluetoothを開く
  • 対象の端末を選択(自分はRNKS-CN-39)
  • ペアリングのパスワードは初期設定1234
  • MacOs10.9.3では参考サイトのBluetoothの「シリアル通信の編集」ができなかったが、できなくても問題なく接続できた
  • 後述するが非常に不安定であり、一度「未接続」になると以下手順が必要だった(めんどくさかった)
    • いったんRNKS-CN-39を削除
    • bluetoothを切る
    • 再ペアリング(パスワード入力)

通信

  • ターミナルにてscreen/ dev/tty.RNKS-CN-39と入力(RNKS-CN-39は自分のやつにあわせてください)
  • nを入力

ハマったところ

  • 文字の送信ができない
    • プログラムは正常に書き込まれている(通常のUSBを通じたシリアル通信では動作)
    • Bluetoothの接続はできている
    • n入力後could not find PTYとエラーが出る
    • Ztermでも試してみたがだめ

原因/解決法

単純に接続が不安定すぎて、未接続の状態になっていたようだ。
Mac側の問題であり、再起動・PRAMクリア※2を行うことで解決できた。

※1 vinは外部電源(USBポートではなく)を使う場合に使うポートのようだ。今回はUSBから給電しているためvinを使う必要はないと思われるが、今後のこと(bluetooth使うんだから動かせる電源につなぐっしょ?)を考えてvinにしている。
- http://www.senio.co.jp/bbs/viewtopic.php?f=7&t=85

※2PRAMクリアについて
- http://apple-relationship.com/mac/mac%EF%BC%9Aiphone%E3%81%A8%E3%81%AEbluetooth%E6%8E%A5%E7%B6%9A%E3%81%8C%E9%A0%BB%E7%B9%81%E3%81%AB%E5%88%87%E3%82%8C%E3%82%8B%E6%99%82%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95/

24
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
24