![](https://blogimg.goo.ne.jp/thumbnail/11/2c/c510c3ed791f38304f778267b31aa3c6_s.jpg)
的が小さすぎて当たらなかったので大きくしました。(笑)
今回の弾速計の作成にあたり忘れないように記録にしてみました。
<< 使用したインターフェイス等 >>
①USB-IO:テクノキット(1,500円)http://www.technokit.biz/
②USBコネクター ( 400円)
③HSP(ソフトウェアー) (フリー )http://www.onionsoft.net/hsp/
④HSP・USB用プラグイン(フリー )テクノキットHPから案内
⑤マイクロスイッチ (手持ち部品 )
⑥I/O接続用平行ビニル線 ( 200円)カインズホーム 40円/m
<< 作成にあたって >>
①USB-IOキットは、HPから通販にて2日で届きます。
②IOキットは20分くらいで組み立てられます。
③HSPはBASICライクなフリーソフトですが、BASICの知識がちょっと必要です。
④トリガーと標的に付けるマイクロスイッチは小さいのを選択しました。
⑤トリガー方式は強制滑射式が最良だと思います。
⑥標的は競技ではないので、なるべく大きくした方が良い思います。(笑)
<< プログラムについて >>
①後から分かるように、コメントを多用するとよいです。
②HSPはデバッグが容易なのでおすすめです。
③プログラムは、改良の余地がいっぱいあり、今後改良・増殖する予定です。
④プログラム(参考:タブは省略してあります)
#include "hspusbio.as"
*start
title "USB-IO test"
screen 0,320,400
;USB-IO初期化
mes "USB-IOを接続してください"
repeat
uio_find
if stat==0 :break
wait 10
loop
cls
s=""
kyori=0
uio_out 1,15 ;port1にffxを出力
port=1
pos 4,4:mes "距離:"
pos 104,4:input kyori
pos 4,30:mes "距離をBOXに入れてください。"
pos 80,60:button "Start",*read
pos 0
stop
*read
dat=0
a=0:b=0:c=0
d=0:e=0:f=0
count=0
flag=0
repeat
uio_inp dat,port
if dat==14 :break ;トリガーをひいた(0ex)
await 1
loop
repeat
uio_inp dat,port
count=count+1
if dat==10 :break ;的に当たった(0ax)
await 1
loop
mes "kyori="+kyori
mes "count="+count
a = kyori * 115 ;115は1秒のカウント数
b = a / count
d = b / 100 ;整数部
e = (b - (d * 100)) / 10 ;小数部第1位
f = (b - (d * 100) - (e * 10)) ;小数部第2位
mes "速度:"+d+"."+e+f+"m/s"
if count > 115:mes "Error!!"
goto *read