SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

リアル100mダッシュ

足ふみスイッチ(マットスイッチ)を使って、リアルに走るゲームです。
動画はこちら。

【IchigoJam】リアル100mダッシュ

f:id:shiro0922:20190924130549j:plain
マットスイッチは、市販品だと数万円するので、自作しました。
(1)クリアフォルダの綴じ目をハサミで切って開きます。
f:id:shiro0922:20190924094822j:plain
(2)2つの面にアルミホイルを2枚のり付けします。
f:id:shiro0922:20190924095906j:plain
(3)アルミホイルにケーブルを配線します。より線をほどいて広げて、セロテープで貼り付けます。
ケーブルは、オーディオ用のスピーカーケーブルを電器店などで入手すると良いです。
f:id:shiro0922:20190924100733j:plain
(4)カッターで窓を開けた段ボールをはさみます。窓の幅は1cmくらい、間隔は3cmくらいです。この窓の配置がスイッチON/OFFに重要なので、実際に足で踏んでみて幅や間隔を調整してください。
f:id:shiro0922:20190924102651j:plain
(5)段ボールをはさんで、ガムテープで留めます。
f:id:shiro0922:20190924103349j:plain
(6)同じスイッチを左右2個作って、床に配置します。ただ置くだけだと、走る時に滑ったり動いたりして危ないので、床にガムテープで貼り付けるといいでしょう。
f:id:shiro0922:20190924125151j:plain

プログラム

以前作った「100mダッシュ・展示用」を改造しました。

10 @ARUN:'*100m Dash Real
20 VIDEO 3:CLV
30 OUT 5,-1:OUT 6,-1
40 @TITLE
50 CLS
60 LC 2,0:?"*100m Dash*"
70 LC 6,3:?"TIME"
80 LC 6,4:?T/60;".";T%60/6;
90 WAIT 120
100 LC 5,7:?"READY?";
110 IF !IN(10) || !IN(11) CONT
120 IF IN(10) && IN(11) CONT
130 CLS
140 LC 0,1:?CHR$(251)
150 LC 4,7:?"|";
160 LC 0,0
170 FOR T=3 TO 1 STEP -1
180 ?T;" ";:BEEP:WAIT 60
190 NEXT
200 ?"GO!":BEEP 10,60
210 LC 1,1:CLT
220 FOR R=1 TO 50
230 IF IN(10) CONT
240 IF !IN(10) CONT
250 ?CHR$(8,46,251);
260 IF IN(11) CONT
270 IF !IN(11) CONT
280 ?CHR$(8,46,251);
290 NEXT
300 T=TICK()
310 ?" GOAL!";
320 BEEP 10,60:WAIT 60
330 GOTO @TITLE

20行の「VIDEO 3」を「SWITCH 1」に変えると、液晶画面に対応します。
今回はマットスイッチをOUT5,6端子(IN10、IN11)につないで、100kΩ抵抗でプルアップしています。
(スイッチを踏まない=入力1、踏む=入力0)
液晶を使わない時は、IN1・GNDとIN4・GNDにマットスイッチをつなぐと、プルアップ抵抗無しで使えるのでいいと思います。プログラムではIN(1)とIN(4)で読み取ります。