とりちらかったもろもろの言葉たち

ちょっと大きめのつぶやきにすぎない戯言をとりあえず書いてみました

マイルストーン:スマホでカメラ台を制御

Project Chasing Moonとか言ってしまったが、そのマイルストーンその1。

2016-04-16 20.28.45スマートフォンのアプリで、指定した角度に首を振り、チルトさせるというもの。コントローラーは例によってLightBlue Beanにした。今回は細かく指定できることを確認するため、専用のアプリも作成した。

基本はBluetooth Low EnergyのCharacteristicに角度(アジマスとチルト)を書き込むと、それに応じてカメラ台のサーボが対象の角度に動く。サーボの制御はArduinoのServoライブラリ任せなので、本当にどの角度なのかは確認していない。が、まあそれらしい角度には動いている。後々のために、LightBlue Beanから加速度センサーの値をCharacteristic経由で取得できるようにもしている。

動かすとこんな感じだ。

ポイントはサーボが5V、LightBlue Beanが3Vで動作するのを整合させることくらい。もしかしたらサーボの制御ピンはCMOSロジックだったのかもしれないけど、SG90の説明はなんにも書いてないのでまあレベル変換は入れておいた。CMOSロジックで動いているといいな。何となく、ちょっと動作が不安定な感じがあるので。本当は波形の確認とかしなきゃいけないんだけど、まあそれも次のステップかな。

もう一つポイントだったのはアプリの方だけど、今回はBluetooth Developer Studio(BDS)を使ったら簡単にできた。基本はLightBlue BeanのCharacteristicをやり取りするサービスのUUIDを使ってBDSでプロジェクトを立ち上げる。これで標準のプラグインを使って、Androidのクライアントコードを生成させる。同じ名前、名前空間でAndroid Studioのプロジェクトを作っておけば、BDSで生成した中に入っているバッチファイルがソースを放り込んでくれる。Javaのソースコードだけではなく、XMLのデザインファイルなども入れてくれるので、実行可能なアプリがその場でできてしまう。

あとはデータをやり取りする構造(プロトコル)を決めて適切に処理させればいい。

 

コメントを残す