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

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

月別アーカイブ: 3月 2016

Metaware Cを使う(その1)

Android版SDKに意外とアンドキュメントなことが多かった。つか、まだできてないから「多い」か。いずれにせよ、後の自分のためにメモ。

  • 「Library Setup」のセクション。Android Studioとgraidleの仕組みを知っていればどうってことないんだろうけど、「ivy」リポジトリの指定はRootのbuild.gradleに記述。「compile」の記述は「app」フォルダーのbuild.gradleに記述する。
  • Binding the Serviceのサンプルコードに間違いというか、キャストを要求される。これ、ほかのサンプルとかで通っているみたいなんだけど、何か違うのかなぁ。
  • 「MetaWareBoard」のセクション。binder.getMetaWareBoardはたぶん間違っている(その場で書いていないので記憶違いかも)。
  • なんか「Scanner」というのが使えるみたいだけど、何も書いてない。

というわけで、まだ自前のMetaware Cを見つけてデータを取るところまですらたどり着いていない。先は長い。

プロジェクト「Chasing Moon」始動

などと大袈裟なタイトルを付けてしまった。

何をしたいかというと、要は超絶チープでかつ、楽ちんな自動導入なんてできないか、ということだ。組立式望遠鏡が意外に性能が高く、月などを見る分には十分すぎるくらい使えるのだが、導入が面倒。いや、これはどんな天体望遠鏡でもそうなのだろうけれど、それ自体がファインダーのような存在である組立式望遠鏡の場合、導入は素で見えている星でないと難しい。そもそもターゲット部分は光学系は存在せず、望遠鏡の先端と終端にあるマーカーが対象となる星に重なるように向けなければならない。ちゃんと見えている星ならば狙えるが、「だいたいあのへんにあるはず」で狙ってもなかなか当たらない。そのうち腰か首が疲れてきてあきらめることになる。

しかしボクが住んでいるここ東京は、星を見る環境としてはろくでもないところだ。最近ではこちらの目も悪化しているので、オリオン座のベルトの三ツ星(2等星)ですら、怪しいくらい。一方でこんな環境だからこそ、高額な光学系に投資する意味を持たない。そんな爆発的によく見えるわけはないが、これくらいなら見えるかも、というのは見てみたいのが人情だ。

セレストロンの「COSMOS90」が年末に意外に安売りしていたので、結構ほしいとか思っていたが、どう考えても普通には使うとは思い難い。こいつの売りは自動導入で、明るい星を1つ導入すれば、あとは勝手にやってくれるという。今までは3つ必要だったのだから、かなり楽なはずだ。

そこで少し考えてみた。星の位置に応じた水平方面の角度(方角)と、高度角の2つが求まれば本来は導入できるはずだ。それ自体は、理論上現在地の場所(経緯度)と時刻がわかれば算出できる。問題はそれを現実に設置した望遠鏡の角度に落としこむ部分だ。セレストロンが導入に3つの星を指定していたのは、これから考えればよくわかる。つまり水平方向の角度の誤差と、高度角方向の誤差の2つを算出するために、3つのデータが必要になるからだ。

だがこのIoTの時代である。まず水平方向の回転軸のズレは、加速度センサーを使えば求められる。静止状態で唯一発生している方向が地球中心の方向なので、要は天頂方向の逆だ。次が方位。これも方位センサーがあれば、理論的には北の方向がわかるので、そこから算出すればまあ、なんかちゃんと導入できるんじゃない?

基本的なアイデアとしては、スマートフォン+制御側の2段構成にする。制御側はArduinoクラスのハードウエアで十分。基本は指定した方向を入れてやったら、それに応じた動作をすればよい。誤差の補正をどちらに持たせるかは議論の余地があるので、まだ決定していない。スマートフォンで基本的に制御するのであれば、時刻や位置も取得できるので都合がよい。惑星の位置情報なども取得できそうだ。

制御側とスマートフォンはまあ、Bluetooth LEで接続するだろう。というわけで、制御側のハードウエアはとりあえず手持ちの「Metaware C」(mbientLab製)を使うことに決定。制御用のサーボは手持ちのSG90でまずはいろいろ試そう。とにかく安いし。あれ?でも出力系統足りるかな?そこは少しチェックしておこう。これがRaspberry Piクラスのハードなら、それ自体に通信機能とUIを持たせてもよいのだろうけれど、そこを作るのはソフト的にも面倒な感じがする。

なので、まずはフェーズ1としてスマートフォンで角度を指定して制御できるようにすることを目指す。次にフェーズ2として、設置誤差の修正をできるようにする。フェーズ3がちゃんとしたUIだ。できるならば星の名前を指定しただけで導入できるようにしたい。

いろいろと構造を考えてみたが、どうせサーボはSG90を少なくとも試験段階では使うので、カメラキットをeBayで買ったりした。