飛行会まで待てなくて、Android赤外線送信機を使って部屋でBUTTERFLYを飛ばしてみました。
設計では、スマホの画面をタッチしながら上下にスライドするとモータの回転数が変化し、左右に傾けるとその傾きに応じてラダーが動きます。そして画面から指を離すと、離した位置の回転数でモータが回り続けます。
広い体育館でインドアプレーンを飛ばす場合は、飛行中に画面から指を離してスマホの傾きだけで旋回操縦することも可能です。
ところが操作出力に少し遅れがあるため、部屋などの狭い空間で飛行させる場合は、予測操作が必要で、すぐに壁などにぶつけてしまいます。
壁にぶつかったりした場合、いそいで指を画面の下までスライドさせないとモータがストップしません。とっさのときにモータをストップさせる操作はかなりのストレスです。
そこで画面から指を離したらモータがストップするようにプログラムを変更しました。変更後はかなり飛ばしやすくなり、何度もテストして周回飛行ができるまでになりました。
そしてほかにも、開発中に気づいた点をいくつかプログラムしました。
たとえばスマホの回転ロックをオフにしてあった場合、スマホを傾けた時に画面が回転して、傾斜センサの取得値が狂ってしまいます。そこでアプリ起動時に内部で画面の回転をロックするようにプログラムしています。
またスマホを赤外線送信機として使う場合、音声出力を最大にセットする必要がありますが、アプリを使うたびに音量を最大にセットするのは面倒です。そこでこちらもアプリ起動時に自動的に音量を最大にセットするようにプログラムしました。そしてアプリを終了するときに音量を中程度に戻しています。
そのほかにも、アプリ起動中はスマートフォンをスリープモードにしないようにプログラムしました。
スマホのアプリは、勉強しながら少しずつ改良を加えています。スロットルのローポジションを示すアイコンも自作のものにしてみました。
今はまだ"スマホでもなんとかインドアプレーンが飛ばせる"といった状態で、まだまだ課題山積ですが、"インドアプレーンを飛ばすならスマホがいいね"を目指してコツコツ勉強していきます。
| Trackback ( )
|
|