タイム計測キットの作り方(回転計多機能版V2用)

タイム計測キットの作り方です

■購入前の注意点

・これは組み立てキットです。半田付けが必要です
・以下の仕様を読んでから購入して下さい
・機能については文章を見るより先にこのページに添付されているMOVIEを参照してください(全部で6本あります)

■タイム計測キットの仕様

・電源電圧は12V以上必要です
・最下位桁1/1000秒のストップウォッチです
・使い方を確認してから購入して下さい
・動作させるためには以下の4つが必要です
  1.回転計多機能版Ver2
  2.光電センサーアダプター(市販の光電センサーを使用する場合必要 「光電センサー高速版」の場合は直結できるので不要)
  3.光電センサー
  4.電源AC-DCアダプター
 使う環境によって不要になる物があるので全てばら売りです
 例えば車のバッテリーを電源にするならAC-DCアダプターは不要です

■組み立てのポイント

・フラックスは使用しないで下さい。フラックスを使用した場合は洗浄が必要です
 無洗浄タイプのフラックスを使用していても洗浄は必要です
・背の低い部品を先に取り付けると部品を押さえる必要がなくなり半田付けが容易になります
・鉛フリーハンダは半田付けが難しいので初心者は出来るだけ鉛フリーではない物を使用して下さい
・完成したらUSB経由でプログラムを書き込む必要があります。


2015-12-04

完成するとこうなります。光電センサーは使い方によって1つもしくは2つ必要になります。キットの本体となるのはデジタル回転計多機能版ですがこのページには作り方は掲載されていません回転計多機能版Ver2の作り方を見て組み立てて下さい。作り方のページと異なる点は以下の3点です
 ・電源は光電センサーアダプターから供給するため回転計多機能版用の5V電源は必要ない
 ・ソフトはこのページに有る物を使う
 ・センサーとの接続は 光電センサー<->光電センサーアダプター<->回転計多機能版 となる

R0027763.jpg

100mmの物体がマッハ1で光電センサーを通過してもセンサーの反応速度より速すぎて検知できません。検知可能な物体の大きさは以下の通りです。計算上は時速10kmで動く4mmの物体を検知できますが小さすぎてセンサーの光を遮らないため実際は20mm程度の大きさが必要です。

ookisa.png

・この図は透過型と回帰反射型の2種を使っていますが説明のためのものです。通常は同じ物を使います
・推奨光電センサーはこの図の2機種です
・周回コースのようにスタート地点とゴール地点が同じ場合は1側だけにセンサーを繋ぎます。2側には何も繋ぎません

zetuzokuzu.png

光電センサー高速版を使う場合はこのように配線します
・光電センサーアダプターは不要になります(光電センサーアダプター経由で光電センサー高速版を接続することもできます)
・この構成のほうが安価にタイム計測器を作ることができます
・光電センサー高速版の投光器は市販品の4~5倍広範囲に赤外線が広がるのでセンサーの設置が容易です
 その代わり投光器の消費電力が市販の光電センサーより4~5倍大きくなる欠点があります
・1kΩの抵抗はキットに付属しています
・光電センサーはJ1を抵抗のリードなどでショートさせる。裏面の電源IC(12V->5V変換用)は取り付けない
 余った電源ICを回転計多機能版V2の裏に半田付けする
 このように組み立てるとセンサーは5V電源専用になることに注意、12V電源をつなぐと壊れる

haisenzuIRkit.png

光電センサーアダプターはこの写真と部品表を頼りに組み立てて下さい

R0016906.jpg

基板裏面。電源ICが1個有るだけです。放熱フィンも半田付けが必要です。放熱フィンは熱が逃げやすい基板パターンになっているので半田ごての温度を高めにして半田付けして下さい。

R0016907.jpg

部品表
・整流ブリッジは型番が変更になりました 部品の~+-記号で向きを判断してください
・電界コンデンサの耐圧は50Vの物が入っていることもあります

koudenadapsch.png

整流ブリッジはこれに変更しました

R0040243.jpg



現在プログラムは2本有ります

***************************************
 機能:
***************************************

 スタート方式は
  -光電センサー1を横切る
  -SW3を押す
 の2通りあります
 さらに
  -SW3を押してからカウントダウンしてからスタート
  -スタートする前に光電センサー1を横切った場合のフライング判定
 ができます

 ゴールは
  -光電センサー1を横切る(ぐるっと回ってスタート地点に戻ってゴールするコースレイアウト)
  -光電センサー2を横切る
  -SW3を押す
 の3通りあります

 複数台同時走行、一人でラップタイム計測 も可能です
 プログラムはこのページの一番下に添付してあります

***************************************
 プログラムの書き込み方:
***************************************

 ・キットは組み立てただけでは使えません。USB経由でプログラムの書き込みが必要です
 ・プログラムの書き込み方はデジタル回転計多機能版の作り方のページを参照してください
  プログラムはこのページの下の方に添付されています
  多機能版の作り方のページに添付してある物は一切使いません。書き込み方だけを参照して下さい。
 ・書き込みにはUSBケーブルが必要です。キットには付属していません

 回転計多機能版Ver2の作り方

***************************************
 設定方法:
***************************************

 1.接続図の通り配線します
 2.SW2を押したまま電源を入れます。(電源スイッチはありません)
   表示が「--------」になったらスイッチを開放してください
 3.最初に輝度を設定します。表示は88888888になっています
   ロータリーエンコーダーを回すと輝度が変わります
   SW1を押すと現在の輝度が保存されます。設定した値は電源を切っても消えません
 4.スタート方式を設定します。表示の意味は以下の通りです
    左2桁 の S3 はSW3を押すことによりスタートする
          H1 は光電センサー1を通過することによりスタートする
    中央2桁の Cd はカウントダウンスタートをする
    右2桁 の FL はフライング判定をする
   ロータリーエンコーダを回して設定してください
   あり得ない組み合わせにはなりません
   SW1を押すと設定が保存されます
 5.ゴール方式を設定します。表示の意味は以下の通りです
    右2桁 の S3 はSW3を押すことによりゴールする
          H1 は光電センサー1を通過することによりゴールする
          H2 は光電センサー2を通過することによりゴールする
   ロータリーエンコーダを回して設定してください
   SW1を押すと設定が保存されます
 6.光電センサーデッドタイム設定
   光電センサー1をスタートとゴールに使うと前輪がスタートを横切った後に後輪が光電センサーを横切ってしまい
   周回コースを回らなくてもゴールしてしまいます。
   これを避けるために光電センサーが前輪を検知してから一定時間は光電センサーが反応してもそれを無視するようにします
   この時間がデッドタイムです
   ロータリーエンコーダを回すと値が増減します
   設定値は1/1000秒単位です
   ドットが点灯している桁の値が変わります
   ドットの位置はSW2を押すたびに移動できます
   デッドタイムやフライングタイムが不要な場合でもこの設定はスキップされません。使わない場合はどんな値になっていてもかまいません
   SW1を押すと設定が保存されます
 7.フライングタイムの設定
   スタートの合図がある前に光電センサー1を横切ったらフライングですが
   スタートの合図の1/100秒後に光電センサー1を横切った場合もフライングです
   スタート合図直後の一定時間の間に光電センサーを横切ったときにフライングであると判定するための時間を入力します
   0.3秒では長すぎますが0.1秒で反応できる人はほとんどいないはずです
   数値の入力方法はデッドタイムと同じです
 以上で設定は終わりです

***************************************
 使い方:
***************************************

 設定したとおりに動きます

 ・表示は1/1000ストップウォッチです
 ・基板上のスイッチは小さいので必要があれば電線を伸ばして大きなスイッチを付けてください
 ・SW2はストップウォッチ同様リセットボタン兼スプリットタイム表示機能です
 ・時計が動いているときは
   LED3が点灯します
   リレー1がONします
 ・フライングがあったときは「FL FL FL」という表示が点滅します。その後フライング時間を表示します
  0であったらスタートの合図の前に光電センサー1を横切ったという意味です
  LED1も点灯します
 ・カウントダウンは「8」の表示が右から左へ増えていきます「88888888」の表示がスタートの合図です

プログラム 最新版
ファイル ファイルタイプ 添付ファイルの解説
HIDBootloaderWindows.zip OTHER 書き込みのためのプログラムWindows用 これを解凍して中にあるHIDbootloader.exeを実行する。含まれているDLLは全部必要。EXEだけでは動かない
KaitenkeiTakinoStopWatchIr.X.production102.zip HEX Ver 1.02 上のプログラムを使ってUSB経由でこのプログラムを書き込みます。書き込み方法は回転計多機能版Ver2の作り方を参照して下さい

スイッチを押すとリレーが2が1秒間だけONする機能を追加
プログラム 旧バージョン
ファイル ファイルタイプ 添付ファイルの解説
KaitenkeiTakinoStopWatchIr.X.production.zip HEX Ver 1.00
動いているところいろいろ
ファイル ファイルタイプ 添付ファイルの解説
H1H2.wmv MOVIE センサー1でスタート、センサー2でゴールの一番普通な使い方
H1H1.wmv MOVIE スタート、ゴール共にセンサー1を使う方式。デッドタイムを5.00秒に設定してあるのでスタートしてから5秒以内は何度横切っても反応しない
S1CDFL01.wmv MOVIE SW3でカウントダウン開始、888888でスタート、1.032秒でゴール
S1CDFL02.wmv MOVIE フライングタイムを0.3秒に設定してある
SW1でカウントダウン開始、888888になった直後0.216秒でスタートしたのでフライング
(実際はカウントダウンすると身構えることが出来るためフライングタイム0.3秒は長すぎます)
ご参考
ファイル ファイルタイプ 添付ファイルの解説
TakinoAdapFPCB_eagle.zip EAGLE 光電センサーアダプター V4.16回路図&基板パターン
adapsch.PNG PNG 光電センサーアダプター 回路図
KaitenkeiTakinoStopWatchIr.X.zip MPLAB XC8 V1.00 プログラムソースを含む一式
KaitenkeiTakinoStopWatchIr.X.102.zip MPLAB XC8 V1.02 プログラムソースを含む一式



************************************************************************************
 バイクジムカーナ用機能 複数台同時走行、一人でラップタイム計測、8の字GP
************************************************************************************

 機能は添付のMOVIEを見てください
 複数台同時走行は「追い越し禁止」です

***************************************
 プログラムの書き込み方:
***************************************

 ・キットは組み立てただけでは使えません。USB経由でプログラムの書き込みが必要です
 ・プログラムの書き込み方はデジタル回転計多機能版の作り方のページを参照してください
  プログラムはこのページの下の方に添付されています
  多機能版の作り方のページに添付してある物は一切使いません。書き込み方だけを参照して下さい。
 ・書き込みにはUSBケーブルが必要です。キットには付属していません

 回転計多機能版Ver2の作り方

***************************************
 設定方法:
***************************************

 1.接続図の通り配線します
 2.SW2を押したまま電源を入れます。(電源スイッチはありません)
   表示が「--------」になったらスイッチを開放してください
   下段に表示されているのはソフトのバージョン番号です
 3.最初に輝度を設定します。表示は88888888になっています
   ロータリーエンコーダーを回すと輝度が変わります
   SW1を押すと現在の輝度が保存されます。設定した値は電源を切っても消えません
 4.計測モードを設定します(FUnC)
    エンコーダーを回すと以下の計測モードが選択できます
     GrP     :複数台同時走行             光電管は2個必要
     GrP   SS:上記のシグナルスタート版 シグナルスタート回路が必要
     SGL LAP :1人でラップタイム計測         光電管は1つだけで良い
     SGL CC  :1人で設定した周回数回ってからGOAL 光電管は1つだけで良い
     SGL CCSS:上記のシグナルスタート版 シグナルスタート回路が必要
     8GP     :8の字GP               光電管は2個必要
   SW1を押すと設定が保存されます
 5.光電センサーデッドタイム設定(dEad)
   光電センサーが反応した後は一定時間センサーが反応しなくなります。この時間がデッドタイムです
   ロータリーエンコーダを回すと値が増減します
   設定値は1/1000秒単位です
   ドットが点灯している桁の値が変わります
   ドットの位置はSW2を押すたびに移動できます
   SW1を押すと設定が保存されます
 5-1.光電センサーデッドタイム設定(dEad SS)
   GRP、GRP SSモードにおけるスタート時のデッドタイム
   設定方法は上記と同じ
   スタートセンサーが無効になっている間は回転計のLED1が点灯する
 6.表示停止時間の設定(HOLd)
   GOAL直後、ここで設定した時間だけ表示がとまります
   数値の入力方法はデッドタイムと同じです
 7.周回数設定(nLAP)
   SGL CCモードの周回数
 8.表示の書式(Format)
   9999:分表示せずに秒で表す 例)1分30秒は90秒と表示する
   5999:通常の分秒表示
 9.表示更新(dISP UPd)
   GOAL  :ゴールした時だけ表示更新する ゴールするまでタイムが分からないので気が散らないようにする機能
   ALUAYS:常に表示更新する

 以上で設定は終わりです

***************************************
 使い方:
***************************************

 設定したとおりに動きます

 ・電源を入れると上段に走行モード、下段にプログラムのバージョンが表示されます
 ・SW1がリセットスイッチです
 ・SW2を押すと上段と下段の表示が入れ替わります
  走行中にスイッチを押すとタイムがリセットされてしまいます
 ・複数台同時走行時(GrP、GrP SSモード)は上段一番左側の数値はコース内を走行している台数
  台数が0より小さくなったときスタートのセンサーよりゴールのセンサーを多く横切った時はエラー表示になり強制的にリセットされる
 ・「GrP」「SGL LAP」モードでは
  ベストタイムが出たときは下段に b と ベストタイム
  ベストタイムより遅かったときは P と ベストタイムとの時間差、つまりベストタイムよりどれだけ遅かったのかが表示される
  ベストタイムはSW1(リセットスイッチ)を押すことによりリセットされます
 ・「GrP SS」モードでは
   -シグナルスタートに対応
   -スタートスイッチを押してからグリーンランプが点灯する前にスタートセンサーを横切ったらフライング
   -スタートスイッチを押さずにスタートスタートすることも可能。これはフライング判定されない
   -グリーンランプが点灯してからスタートセンサーを横切るまでの時間はゴール時に下段に表示される。下段最左桁はフライングの場合は「F」、正常スタートの場合は「_」表示となる
    スタートスイッチを押さずにスタートしたときはフライング判定しないので下段表示は「________」となる
 ・「SGL CC」モードでは
  上段:残り周回数とタイム
  下段:前回走行とのタイム差。前回より速かった時は-、遅かった時はP(+記号が表示できないのでPLUSのPを表示)
 ・「SGL CCSS」モードでは
   -シグナルスタートに対応
   -スタートスイッチを押してからグリーンランプが点灯する前にスタートセンサーを横切ったらフライング
   -スタートスイッチを押さずにスタートスタートすることも可能。これはフライング判定されない
   -グリーンランプが点灯してからスタートセンサーを横切るまでの時間はスタート時に下段に表示される。下段最左桁はフライングの場合は「F」、正常スタートの場合は「_」表示となる
 ・「8GP」モードでは
  上段:残り周回数とタイム
  下段:ベストタイムとのタイム差。ベストタイムより速かった時は-、遅かった時はP(+記号が表示できないのでPLUSのPを表示)

=======================================================
シグナルスタート回路配線図 GRP SS と SGL CCSS モードで必要
=======================================================
・DFplayerは亜種(=中国製コピー品)が多く存在します
  YX5200 使用可能 裏面のICがこの型番の物は使用可能 DFROBOT純正品のICがこれ 日本国内では約¥1000
  GD3200D 使用可能 ICのサイズはMH2024と同じ 表面の印刷は DFPlayer Mini HW-247A 純正の1/4~1/3程度の価格
  MH2024 使用不可 表面に MP3_TF_16P と印刷してある これが一番安く販売されている コマンドを送っても反応が遅く遅れて音が出る、また1秒置きに音を出すことが出来ない 最短で1.5秒必要
・抵抗は全部1kΩ
・ランプは全部共通電源で良い
・回転計のJPxのG端子(電源マイナス)4カ所は全部つながっているのでどこに接続しても良い
・音源ボードDFPlayerの出力は小さいのでアンプが必要。図のスピーカーをアンプ+スピーカーに置き換える
・リレーシールドはarduinoリレーシールドの作り方を参照
・回転計との接続
  スタートスイッチを押したと同時に Digital13番pinがLOW->HIGH
  グリーンランプ点灯と同時に Digital13番pinがLOW->HIGH
  回転計がフライング(グリーンランプ点灯前にセンサーを横切る)を検知するとJP4のSGがLOW->HIGH
他の製品を使う場合は
 赤ランプリレーの出力ピンDigital7
 黄ランプリレーの出力ピンDigital6
 緑ランプリレーの出力ピンDigital5
 電源をArduinoから供給する場合は回路の消費電力がArduinoの定格容量を超えないように注意
・効果音ファイルはMP3フォーマット
 マイクロSDカードにmp3フォルダーを作りその中に以下のファイルを入れる
  0001.mp3:赤、黄ランプ点灯時の音
  0002.mp3:緑ランプ点灯時の音
  0003.mp3:フライング時の音
 全て1秒以下の再生時間のファイルにすること

補足:
 DFPlayerMiniの電源電圧は5V。但しI/Oが全部3.3Vの仕様になっている
 ArduinoTX->DFPlayerMiniRXは電圧変換すべきであるが1kΩの抵抗を入れることでも対応できる(メーカーのデータシートでそのように推奨している)
 ArduinoRX側は抵抗不要であるが接続間違いでも壊れないようにRX,TX両方に抵抗を入れてある
 DFPlayerの音量はソフトウェア制御

この図では省略されているが電源は回転計から取って良い
回転計のマイナスをこの図のG(3カ所全部同じ)、プラスを5Vに接続
アンプは消費電力が大く電源電圧も大抵は5Vでは無いので回転計から電源を取れない

signalstartsch.png

DFplayer
プログラムを作った時期が古いので旧ライブラリーを使います。「そんなヘッダーファイルは無い」という意味のエラーが出たらライブラリーがインストールされていません。以下のリンクをダウンロード&解凍してフォルダーをarduinoのライブラリーフォルダーにCOPYしますhttps://github.com/DFRobot/DFPlayer-Mini-mp3

R0050740.jpg
R0050742.jpg
プログラム 最新版
ファイル ファイルタイプ 添付ファイルの解説
7segdisplay.zip HEX 2016-10-07最新版
大型7セグメントディスプレイ用のHEXファイル(7segdisplay.hex)も入っている(大型7セグメントディスプレイは自己書き込み機能を持っていないのでプログラム書込機を持っている人用)
プログラム 最新版
ファイル ファイルタイプ 添付ファイルの解説
KaitenkeiTakinoStopWatchIr2.X.production501.zip HEX 2019-12-17 Ver5.01
読み上げ機能対応。読み上げハードは特注品のため非公開

回転計側の機能追加としてはゴール時に大型ディスプレイへ0xF0,0x40のコードを送るところだけが異なる
大型ディスプレイはこのコードには反応しないので見た目の動作はV4.02と全く変わらない
互換性を保っているので今後のバグ修正はこのバージョンに対して行われる
SignalStartIno.zip arduino シグナルスタートプログラム。音量は mp3_set_volume(30); を0(音量小)~30(音量大)の範囲で変更する
mp3.zip OTHER シグナルスタート音 サンプルmp3ファイル これをSDカードに書き込みDFplayerのカードスロットに挿す
プログラム(旧バージョン)
ファイル ファイルタイプ 添付ファイルの解説
KaitenkeiTakinoStopWatchIr2.X.production402.zip HEX 2017-11-23 Ver4.02
シグナルスタート機能を追加した ベータ版(機能が変わる可能性有ります)
・スタート時のエンスト対応のため GRP、GRP SS 機能のみスタート時のdead Time(センサー無効時間)を別に設定できるようにした
・プログラムが複雑になりすぎて1/1000秒の計測精度が出なくなったので割り込み処理を使用するように変更
KaitenkeiTakinoStopWatchIr2.X.production.zip HEX Ver1.01(2015-12-13) USB経由でこのプログラムを書き込みます。書き込み方法は回転計多機能版Ver2の作り方を参照して下さい。Windows側のプログラムは上の方に添付されている HIDBootloaderWindows.zip を使います
KaitenkeiTakinoStopWatchIr200.X.production.zip HEX Ver2.00(2016-03-24) 周回数指定可能ラップタイム計測 暫定版
・機能名称は SGL CC 初期値もこのモードになっている
・設定機能に周回数を指定する nLAP を追加。初期値は2
・下段はベストタイムとの時間差 マイナスの場合は下段左に マイナス記号 プラスの場合は P 表示
KaitenkeiTakinoStopWatchIr201.X.production.zip HEX Ver2.01(2016-03-30)
上のVer2.00に大型ディスプレイ対応機能を追加した物
どの桁をディスプレイに表示するのかについての設定は大型ディスプレイのDIPスイッチで設定するため操作上の変更は無い
動いているところ 複数台走行、一人でラップタイム計測
ファイル ファイルタイプ 添付ファイルの解説
timeatk.wmv MOVIE 複数台走行 デッドタイム1秒、表示停止時間3秒
laptime.wmv MOVIE ラップタイム計測 デッドタイム1秒、表示停止時間3秒

**************************************************************
動いているところ サイズの大きい YouTube動画
**************************************************************
・YouTube動画 タイム計測器 8の字GPモード

ご参考
ファイル ファイルタイプ 添付ファイルの解説
KaitenkeiTakinoStopWatchIr2srcV3.zip HEX プログラムソースを含む一式 V3
V2にバイクの8の字グランプリ計測機能を付加したもの
3/22時点でテスト待ちのため追加機能の説明は無し
KaitenkeiTakinoStopWatchIr2.X.zip HEX プログラムソースを含む一式 V1