デジタル・シューティング・ターゲットの作成
メモ
RaspberryPiとUSBカメラでスポットビーム光をセンスし、
スポットビームが最後に消灯したポイントが最終得点ポイントとなります。
半透明の的の裏側からUSBカメラでビーム光をマイコン(RaspberryPi)でセンス・処理し、
同マイコンのwebサーバまたはVNCにて(無線LANで)PC,IPAD等で操作、確認します。
的の下部はバッテリーです。
赤いボタンのワンプッシュで電源on(linuxの立ち上げ)を行い、
白いボタンを十数秒押すことで電源off(shutdown処理)を行います。
バッテリーの充電器は内部に入れてあります。
赤いLEDの点灯:5vDC-ON
青いLEDの点滅:log-on中
白いLEDの点滅:的の処理プログラム実行中
レーザービームはトイガン(APS-2)のトリガーを引いた時にビームが切れるようにしています。
得点は、IPADまたはPCのVNCビュアーにて確認します。VNCの為多少時間のずれがある。
的のハードは、
・RaspberryPi-typeB
・USB無線LANドングル
・広角のUSBカメラ
・スイッチによる電源on/off回路
・5vバッテリー
・的をプリントしたOHPシート(2枚)
・ケース等(CDケース、B6カードケース等)
webの画像です。
NVCビュアーの画像です。
通常の画面です。
10回で得点はファイルにセーブ&メールsendして画面のクリアをします。
Re-Displayをダブルクリックすると、その時のぶれ具合(経過)が表示されます。
Spot-Adjustmentをダブルクリックすると、
・RasspberryPiに接続したカメラと表示画面との位置調整を行います。
画像を見ながら設定ファイルの値を変更します。
・hi-scoreがクリアします。
小さいスクリーンはカメラで読み込んだ画像に直接ポイントを書き込んだものをdisplay
ソフトウェアについて
・RaspberryPi プッシュスイッチによるON/OFF
@電源on:赤いボタンスイッチのプッシュで、赤いLEDが点灯し、青いLEDが点滅しDCが入る これは電源on/off用のマイコンが正常に動作していることを示す A白いLEDが点灯又は消灯している これはこのアプリが動作していない事を示す B白いLEDが点灯・消灯 無線LAN環境を探している時に点灯 C白いLEDが点滅 これはアプリが動作していることを示す 注:上記の状態にならない場合は、LOGファイルをみること /xxxx/yyyyy_camera_log.txt LOGはTera-Term(ip:192.168.0.xxx SSH2)又はftpで接続して/ramdisk/のxxx.logで確認する D電源off:白いボタンスイッチを数秒押し続けるとshut-down後電源がおちる |
・RaspberryPi 無線LANのSSID接続
・RaspberryPi GPIO:LED点灯シェル
表示のLEDは、赤が5VDC、青がpicマイコンが動作中
白がRaspberryPiが表示するLEDである。
・得点のついて
@ スコアは表示の'10th'の時点で自動でファイルにSAVEされる SAVEする場所はファイル"/home/xxxx/xxxxxx/xxxxxx/Point_data2.txt" ファイル内容の例は以下の通り 【出力例】 Score : 20140114185018 1 5 5.5 2 4 4.3 3 0 0.0 4 9 9.7 5 11 11.0 6 7 7.6 7 10 10.7 8 11 11.1 9 8 8.1 10 9 9.6 AVL 7 7.7 A メニューの「SaveDATA」をダブルクリックした時も、その時点のスコアがファイルにSAVEされる |
・スポットアジャスト
Spot_Adjustment 使用方法 // ---------------------------------------------------------------------------- メニューの「Spot_Adjustment」をダブルクリックする カメラデータがスポットのクロス表示とともに表示される 表示画像にもスポットのクロス表示とともに表示される hi-scoreをリセットする ファイル "Point_data2.txt"の内容 ------------------------------------------------------- # #=コメント # filename Point_data2.txt # カメラが読み込んだデータとのマッチングテーブル # A 20 # 的の表示残像数(After_Image) w 160 # w=320のx中心点 160+-n h 117 # H=240のy中心点 120+-n # 9〜0 : 中心からの距離で9=>9点で最も内側のサークルの位置 a 0 # a=10 中心からの距離 10点を意味する 9 9 # 9 中心から2番目までの距離 9点を意味する 8 18 7 28 6 37 5 46 4 56 3 65 2 74 1 83 0 92 # 一番外側の円の位置 X 92 # サークル間間隔x10の値 XYnの値 b 1 # bright : 明るさをセンスする時の対象カラー 0:青 1:緑 2:赤 end 9999 ----------------------------------------------------- 1.カメラデータの確認と調整 カメラデータwindowをずらしてから、スポットデータが中心及び円上にあるか確認する ----- (1)中心の調整 ファイル "Point_data2.txt"の以下の行の数値を変更してデータを更新する 更新方法はエディタかftpやWinSCR等で行う w 160 # w=320のx中心点 160+-n h 117 # H=240のy中心点 120+-n w はx方向,hはy方向の中心値 更新後数秒で反映されるのでデータを確認し、中心を合わせる ----- (2)各円の値の調整 中心と同様にファイルの値を変えて調整する // 9〜0 : 中心からの距離で9=>9点で最も内側のサークルの位置 a 0 // a=10 中心からの距離 10点を意味する 9 9 // 9 中心から2番目までの距離 9点を意味する 8 18 7 28 6 37 5 46 4 55 3 65 2 74 1 83 0 92 # 位置外側に円の位置 ----- (3)その他の値 A 20 # 的の表示残像数(Spot_data[After_Image])<=CPUの処理スピードに影響するので間隔は不明 ------------------------------------------------------- 2.表示データの確認と調整 点数表示を服も表示画像の中のスポットの位置を調整する 上記同様に、ファイルe "Point_data2.txt"の以下の行の数値を変更してデータを更新する X 92 // サークル間間隔x10の値 Spot_data[XYn]の値 数値を変更して更新し、数秒で反映されるので、データを確認しながら値を変える 以上で確認&調整は終了 メニューの「Spot_Adjustment」を再度ダブルクリックで終了する |
・OpenCV
【Open Source Computer Vision Library】を使用して、カメラのデータや文字を RspberryPiのウインドウ画面に表示しています。 |