PocketDuino AlcoholMeter


20141201_pocketduino_board_alcohol

PocketDuino と アルコールセンサボード を Android から制御します。
PocketDuino Tutorial を参考にしました。

ソースは Github で公開しています。

機能
アルコールセンサに息を吹きかけます。
測定値をメーターに表示します。
メーターは、自動車のスピード計のような UI にしました。
20141201_pocketduino_screenshot_alcohol

補足
スピード計のような UI は、Canvas#drawArc (円弧) を3つ使っています。
Canvas#clipPath を使うと、もっとシンプルに出来るかも。


PocketDuino LED


20141201_pocketduino_board_led

PocketDuino に内蔵されている LED を Android から制御します。
Physicaloid Library Sample Projects を参考にしました。

ソースは Github で公開しています。

機能
Android の画面のボタンをタッチすると、 PocketDuino の LED が点灯/消灯します。
PocketDuino から LED の状態が送信され、Android に表示します。
20141201_pocketduino_screenshot_led

課題
Android に PocketDuino を差したときに、自動的に動作するようにしたいのですが、そのときに Strart ボタンを押さないと、動作しません。
Physicaloid#open を呼ぶと、UsbManager#requestPermission が発行されますが、そのコールバックを処理していないようです。
コールバックを処理するようにしたいのですが、うまくいきませんでした。


PocketDuino が届いた


20141126_pocketduino

PocketDuino が届きました。
PocketDuino は AndroidのUSBポートに直接差し込むことのできる Arduino 互換ボードです。
クラウドファンディング で募集していたものです。

まずは、MAC に差して、USB 情報を見てみると。
FT231X USB UART と認識されます。

$ system_profiler SPUSBDataType
-----
FT231X USB UART:
  Product ID: 0x6015
  Vendor ID: 0x0403  (Future Technology Devices International Limited)
  Version: 10.00
  Serial Number: DA00S2SL
  Speed: Up to 12 Mb/sec
  Manufacturer: FTDI
  Location ID: 0x14200000 / 13
  Current Available (mA): 500
  Current Required (mA): 90
$ ls /dev/tty.*
-----
tty.usbserial-DA00S2SL

Blink を試す
マイコンボードを 「Arduino Pro or Pro Mini (5V, 16MHz) w/ ATmega328」に、
シリアルポートを「/dev/tty.usbserial-DA00S2SL」に設定して、マイコンに書き込む。
時間間隔を0.5秒、1秒、2秒などの変えて試す。
無事、動きました。