LeapMotion。 中身は?

ティーポットでの作業はドキュメンテーションのドラフトに限定されますが(間違いなく、Habrにとっては退屈です- 前のトピックから判断して)、鉄片の内部についての要約について書きます。 次のプロジェクト(照明制御)では、OpenCVテーマとこれに適したカメラを点灯する必要がありました。

同時に、ビデオから深度マップを取得したかったのです。人物までの距離に応じて明るさを変更しました。



LeapMotionコントローラーが2台のカメラを使用していることを知ると、すぐに「突く」ように注文しました。





LeapMotionが何であるかについて、彼らが知らない場合、少なくとも誰もが聞いたことがあると思います。 まだ聞いていない場合、これは手の動きを感知し、これらの動きでコンピューターを制御できる小さなコントローラーボックスです。 これがどのように起こるかを示すビデオは次のとおりです。



箱詰めとデバイス自体のレビューについては詳しく説明しません。なぜなら、それはすでに2 行われているからです。

さらに興味深いこと、つまりこのことの実際の仕組みについてお話します。 デバイスの準備ができました:



すべての側面から触診すると、最初のオープニングオプションが表示されます-簡単に剥がれるゴムステッカーが下部にあります。



その下にいくつかのネジがあります。



それは自然にすぐそこに出て、そして...そして何も起こりません。 デバイスは以前と同じモノリスに見えます。 それでは、文字通りの意味と比f​​ig的な意味で話を進めましょう。



前面の暗い表面は、不透明なIR透過性プラスチックです。 彼も何かに接着されていますが、ホットエアガンのゆっくりした動きで、接着剤の腕と体から彼を解放することができました。 私たちはそれを横に取り除き、EYESを見る:



あなたはすでにタイトル画像でそれらを見ているので、彼らはあなたにそのような印象を与えません。 しかし、不透明なプラスチックを取り除き、彼らあなたのためにそれを見ると、その感覚は忘れられないものです。

ラバーシールを取り外し、最初のボードが表示されます。



彼女は4本のネジで支えられています。 それらをオフにして、上部のボードを取り外し、下部にアクセスします。



これは、黒いプラスチックライナーと一緒に、先ほど見たネジで固定されています。 すでにそれらをひねっていることは良いことです:)

包含を制御し、分解後に正しい動作を検証します。



すべて順調です。 で遊ぶことができます。



ボードを接続するとき、それらはそのようなサンドイッチを構成します:



ボードはこのコネクタ(マザーボードの一部)で接続されます:



そして他の部分:



もちろん、そのような詳細に表示する必要はありませんが、マクロレンズにはまだ満足しています。 ボード(トップボードの底面)に移動します。



CYUSB301Xコントローラーはその上にあります



これは、サイプレスの32ビットARM9コントローラーです。 200MHz、USB3.0および2.0、OTG。 写真やビデオを扱うためだけに設計されています。

USB3.0(なぜ2.0では十分ではないのでしょうか?)



近くにはMOSFETがあります:



そして2つの大きなコンデンサ:





この面でこれ以上面白いものはありません。 最初のボードの上側を見てみましょう。



これは、フラッシュメモリMXIC 25L3206E、SPIインターフェイス、32メガビットです。 コントローラのファームウェアを保存します。 何らかの理由で、開発者はKipressovskyコントローラーの独自機能(USB経由でファームウェアをダウンロードする)を使用しませんでした。 たぶんダウンロードをスピードアップするために?

希釈されたUART:



彼に会って、私たちは彼に非常に速くはんだ付けしたので、はんだなしで接触パッドを撮影する時間すらありませんでした。



残念ながら、彼はパルチザンのように沈黙している-1バイトではない。

それでは、たとえば3つの赤外線LEDの1つなど、もっと興味深いものを見てみましょう。



その隣に-どうやらそれを制御するためのハーネス-スタンバイモードでは、LEDが明るさを著しく暗くします。

そして、もう1つの中央LEDがあります。



唯一の違いは、わずかに異なるレンズ形状です。 彼の隣にはまったく同じハーネスがあります。



残りのボードはかなり退屈です。 魚眼レンズ付きの2台のカメラ、はい、コネクタ。

もう一度、カメラの目をしたマグカップと口栓の感覚に驚いています:



開発者は、コンポーネントのこのような配置で誤って停止したわけではないと思います。 °-°

カメラは白黒で、解像度はわずか640×480ですが、1秒あたり60フレームを生成できます。



カウント。 0.3メガピクセル、60フレーム、2台のカメラ、圧縮なし... 640 * 480 * 60 * 2 = 35MB / s。 どうやらそれが彼らがUSB3.0をインストールした理由であり、この速度は2.0では達成不可能であり、新しいチップをインストールするよりも(オーバーヘッドコストで)圧縮を開発する方が高価でした。

ただし、USB2.0モードでは、デバイスも機能しますが、フレームごとに周波数を下げます-反応はより思慮深くなります。



マトリックスを見たかったのですが、カメラのレンズはシーラントで密封されていました。



そのため、私たちは焦点を乱すことを恐れて、あえて解体しませんでした。 カメラは赤外線範囲で完全に撮影します -暗いプラスチックは完全に可視光を遮断し、LEDからの赤外線は、手の皮膚から反射して通過します。 予想どおり、背後に明るい赤外線(太陽、白熱灯)があるため、指の鮮明度がわずかに低下し始めます。 蛍光灯とLEDランプを使用します。 :)



結論

回路の面では、デバイスはかなり愚かです。 実際、ビデオストリームをコンピューターに送るのは、単にバックライト付きのウェブカメラです。

2台のカメラからの写真はとてもおかしく見えます。



しかし、コンピューターでは画像が処理され、深度マップは2つの画像から作成されます。



そして、プログラムがすでに動作するポイント配列が作成されます:





ネイティブソフトウェアを使用せずにカメラを操作できます。親切な人がプロトコルを分類し、それを操作するためのプログラムを作成しました。



残念ながら、このことは適合しませんでした-カメラが近すぎて、数メートル以上の距離を正しく判断することはできません。 いいでしょう



最後に-面白い2色LED:





ティーポットで叙事詩を見逃したくなく、当社の新しい投稿をすべて見たい場合は、購読することができます 画像 会社のページ (購読ボタン)



All Articles