目次

1.ADコンバータとセンサの取り付け
2.作製方法
3.取り付け後の計測の仕方
4.プログラムについて
5.プログラムやセンサーのエラーの解決方法
6.デモ動画

 

1.ADコンバータとセンサの取り付け

 書籍「トランジスタ技術 2012年8月号」には外部センサを取り付けたA-DコンバータをKinect上で動作させるサンプルプログラムが載せられている。
また外部センサとA-Dコンバータの取り付け方などが詳しく解説されている。このプログラムでは外部センサから取得した、物理量をカラー画像に重ね書きするプログラムが描かれる。


  2.作製方法

1.「いますぐ使えるパソコン計測USBマイコン基板」の付録のADコンバータを取る。
2.必要なセンサ類、埋没磁性体センサ、照度センサ、温度センサ、直行三軸加速度センサを用意
3.抵抗、コンデンサ、LEDを用意
4.トランジスタ技術 2012年8月号p82通りに組み立てる。

使用するセンサ
・埋没磁性体センサ KMI15/4
 磁性体を検出する。1か0かの出力しかしないため、磁性体のあるなしの判断しかできない。
・ホール素子 EQ443-L
 KMI15/4とは違い、磁性体が放つ磁界の強さによって出力が変化する。
・照度センサ S7565
 周囲の光に強さによって電流値が変化し出力も変化する。
・温度サーミスタ NXFT15XH103FA2B
 周囲の温度によって、抵抗値が変化し出力も同時に変化する。

作製した結果、磁性体センサはKMI15/4からEQ433-Lに変更した。これにより、磁性体からの磁気の強さにより出力が変化するようになった。なおEQ433-Lを使用する場合には、安定に動作するために必要な電源が5Vであり、USBからの電源ではうまく動作しない。そのため、EQ433-Lを使用する場合には外部電源から電源を供給する必要がある。



   

   

3.取り付け後の計測の仕方

1.http://www.neo-tech-lab.co.uk/ARsensing からC#の"ARsensing"をダウンロードする。
 このプログラムが開発された環境が「kinect for windows SDK ver 1.6」なので使用する場合にはverを1.6に合わせる。
 合わせないと参照しているMicrosoft kinectのverが合わないために使用できない
2.ダウンロードした"ARsensing"を起動し作製した外付けセンサーをPCに接続する。
3.コンパイルをしてプログラムを実行する

うまく起動できれば下の画像のように出力される。


4.プログラムについて

このプログラムで何ができるかというと
・カラー画像の取得
・深度画像の取得
・モータによるKinectの角度調整
・手の残像履歴の表示
・骨格追尾
・外付けセンサーによる各種物理量の測定

 カラー画像、深度画像の取得についてはKinectプログラムについてで述べているので詳しくは述べない。
このプログラムで特徴的な機能としては、残像履歴の表示外付けセンサーによる各種物理量の測定などがあげられる。そのため、プログラムについては特にこの部分について説明をする。

残像履歴の表示について
 今回のプログラムでは特に重要な部分になる。この残像履歴は手の動きを追尾していき、その動いた軌跡を点にして表示するプログラムである。腕の残像履歴を表示するだけでなくセンサーで取得した物理量の大きさを色に変換して、点で描いていく。

 残像履歴のプログラム

①まず、手を追尾して点を描くためには骨格情報から右手の骨格情報を探す必要がある。
 そのために赤線部分のif文を使用し手の骨格座標を探す。
②手の骨格情報を見つけることができたら、Psの変数に右手の座標情報を入力する。
③手の座標情報をカラーカメラの座標に変更する。
④座標情報をもとに色を付ける
⑤手の座標をFIFOに書き込み・読みだす
 FIFOはデータの格納と取り出しに関する式で、データを格納し、読みだしていく。
 そして、FIFOのデータがいっぱいになると最初のデータを消して、新たなデータを上書きしていく。
 そのためデータがいっぱいになるまでは残像履歴を表示する。




5.プログラムやセンサーのエラーの解決方法

・コンパイルをしてプログラムを実行したが、実行できなかった。この時にはエラーは出ていなかった。
 エラーが出ていない状態でプログラムを実行できなかった場合には、どこかでループしている可能性があるので、プログラムの各地点でブレークポイントを設け、一つずつ確かめる必要がある。

例.

 
このようにブレークポイントを設けていき調べた結果、プログラムで使用しているシリアルポートと実際にPCにさしているシリアルポートのポート番号があっておらず、「シリアルポートが解放されていません」と出た。この場合は、デバイスマネージャからポートのプロパティをクリックして合わせる。ポートを合わせた後にコンパイルして実行すると次の写真のように実行できた。

・オペアンプの動作確認方法
 オペアンプが正常に動作しているかが分からない場合には、以下のように配線をすることで正常に動作しているかを確認できる。

図のように配線をし、V+をHighまたはlowにする。Voutも同じように動作したら正常であるということが分かる。

・オペアンプからセンサーの出力がでない
 今回の回路製作において、最初はオペアンプをLM339Nを使用していた。しかし、このオペアンプを使用した場合センサーの電圧変化はしっかり出ていたがオペアンプからの出力が確認されなかった。これは、オペアンプをLM339NからAD823ANZに変更したことで動作をさせることができた。

デモ動画

 完成したセンサについての動画。
温度センサ、照度センサ、磁気センサ、A-Dコンバータがどのように回路に組み込まれているか。
動画