SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

タイム計測装置

IchigoJamとエレキットの赤外線センサーを使って、車が往復コースを走るタイムを計測します。
動画はこちら。


手作り感あふれる装置です(笑)
ベースの板はホームセンターで買った桐の集成材(92×40cm)、壁はamazon段ボール箱です。


メインの計測コンピュータはIchigoJam
液晶シールド基板を新たに作りました。計測用の入力ポートとして、OUT5・OUT6ポート(プログラムでIN10・IN11ポートに切り替え)を付けています。100kΩの抵抗でプルアップ。



センサーはエレキットの「リレー付き赤外線通過・反射センサー PS-3242」。
https://www.elekit.co.jp/product/PS-3242
スタートラインとリターンラインの2セット使います。
部品点数が結構多くてはんだ付けが大変ですが、かなり賢く、いい感度で反応します。
発光部と受光部の間に電源ケーブルがあるのですが、走行する車がひっかかるので工作用紙でカバーしました。


受光している赤外線が切れると、リレーがカチンとONになります。
その出力を、そのままIchigoJamの入力につなげます。


今回はLEGO Education WeDoの車を、Scratchで制御して走らせます。
車の前に距離センサーを付けています。


Scratchのサンプルプログラム。
距離センサーの値を見て、前に壁が近づくとバックしてもどります。


計測結果。リターンラインまでのラップタイムが5.5秒、往復タイムが8.3秒でした。
センサーがリレー回路で、タイムはIchigoJamのTICK関数で計算しているので、0.1秒単位の計測がせいぜいです。今回の目的には十分でしょう。

実はこの装置、以前にArduinoを使って作りました。
http://www.white.umic.jp/jyc/2015/03/17-220000.html
それをリメイクしましたが、IchigoJamだと入出力や計測プログラムがとても簡単ですね(^_^)
あとはセンサーの配置やプログラム次第で、片道コースや周回コースのタイム計測もできます。

計時プログラムリスト

  • スタートラインを切ると、計時を始めます。
  • リターンラインを切ると、ラップタイムを表示します。
  • 戻って、再びスタートラインを切るとゴールです。ゴールタイムを表示して計時を終了します。
  • IchigoJamのボタンを押すと、最初に戻ります。

※(9/5)間違って計測がスタートしても、ボタンを押すとリセットできるように修正。

10 '*Time Measure
20 SWITCH 1
30 CLS
40 CLV
50 OUT 5,-1:OUT 6,-1
60 WAIT 60
70 ?"*Time Measure*"
80 BEEP 10,30
90 IF IN(10) CONT
100 CLT
110 ?"START!"
120 BEEP
130 '@LOOP1
140 LC 0,2
150 T=TICK()
160 ?T/60;".";T%60/6;
170 IF BTN() RUN
180 IF IN(11) GOTO 130
190 ?" LAP"
200 BEEP
210 '@LOOP2
220 LC 0,3
230 T=TICK()
240 ?T/60;".";T%60/6;
250 IF BTN() RUN
260 IF IN(10) GOTO 210
270 ?" GOAL"
280 BEEP 10,30
290 IF !BTN() CONT
300 RUN

※20行の「SWITCH 1」を削除すれば、通常のモニタ環境で動かせます。