SHIROのIchigoJam日記

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

100m競歩

FacebookIchigoJam-FANグループで「100m競歩」を作った人がいました。面白そうなので、私も簡単なプログラムを作ってみました。
f:id:shiro0922:20200209114351p:plain

遊び方

  • 実行するとすぐにスタートです。カーソルキー「←」が左足、「→」が右足です。まず左右同時に押してから、右・左・右・左…の順に押して歩いてください。
  • 左右両方の足が空中に浮いてしまう(=両方のキーを放してしまう)と、ペナルティで一歩戻されます。必ず左右どちらかの足が地面に着いている(=左右どちらかのキーが押されている)状態で歩いてください。
  • 100mのゴールラインに辿りつくと、タイムが表示されて終了します。

プログラム

10 CLV:VIDEO 3:CLS:LC 100:?"|"
20 LC 0:?CHR$(251);:CLT
30 L=K
40 [0]=BTN(29):[1]=BTN(28):K=[0]+[1]*2
50 IF K=L GOTO 30
60 IF !K Z=Z-1:?CHR$(8,8,251);:GOTO 30
70 IF L=3 && [S] Z=Z+1:?CHR$(8,46,251);:S=1-S
80 IF Z<100 GOTO 30
90 T=TICK()
100 ?T/60;".";T%60/6
110 BEEP 10,30

110mハードル

FacebookIchigoJam-FANグループで、昔のハードルゲームの話題を出していた人がいたので、IchigoJamで簡単に作ってみました。

  • 実行するとすぐにスタートです。ハードルの間(インターバル)はスペースキーを連打して走り、ハードルは上矢印キー(↑)で飛び越えてください。
  • ハードルは「0」から「9」まであります。9番ハードルを飛び越えたら、ゴール「G」に向かって走ってください。ゴールインすると終了で、タイムは画面左上に表示されます。
  • 「スペースキーと↑を両方連打すればいいんじゃね?」と思うかもしれませんが、インターバルで↑を押した場合や、ハードルに当たっているのにスペースキーを押した場合は、ペナルティーとしてタイムが1回当たり0.1秒加算されます。スペースキー×10回・↑×1回のペースを守って走ってください。

プログラム

10 '*110m Hurdles
20 CLV:VIDEO 3:CLS
30 LC 0,11:?CHR$(251);:CLT
40 FOR H=0 TO 9
50 LC 10,11:?H;
60 FOR R=1 TO 9
70 K=32:L=30:GSB 160
80 NEXT
90 K=30:L=32:GSB 160:BEEP
100 NEXT
110 LC 10,11:?"G";
120 FOR R=1 TO 10
130 K=32:L=30:GSB 160
140 NEXT
150 BEEP 10,30:CLK:END
160 IF !BTN(K) CONT
170 IF BTN(K) CONT
180 IF BTN(L) M=M+1
190 SCROLL 3
200 LC 0,11-(K=30):?CHR$(251);
210 T=TICK()/6+M
220 LC 0,0:?T/10;".";T%10
230 RTN

Nゲージ制御

IchigoJamのプログラムで、Nゲージの列車を動かしてみました。
動画はこちら。

【IchigoJam】Nゲージ制御

f:id:shiro0922:20200204171159j:plain

制御はIchigoJamと、ブレッドボードで組んだFETスイッチング回路。
線路へ供給する12Vをスイッチングします。
いずれ専用拡張基板を作る予定です。
f:id:shiro0922:20200204170702j:plain

f:id:shiro0922:20200206030419p:plain

Nゲージのレールは、入門セットを購入。

線路へ12Vを供給するフィーダーを別途購入して、ブレッドボード回路につなげるように改造しました。

列車は、地元・上田電鉄のまるまどりーむ号(1000系)。
f:id:shiro0922:20200204171249j:plain

プログラムは、とりあえずカーソルキー↑↓で速度を上げ下げします。
PWM出力を変化させています。

VR(可変抵抗)をアナログ入力につないで、マスコンを作るのも可能でしょう。
プログラム次第では、決まった時刻に自動で発車・停車したり、リフレクターで列車位置を検知して自動的に止める、なんてこともできそうです。

鉄道模型は、これまで興味がありつつもやっていなかったのですが、これで新たな沼に踏み込んでしまった予感が…(笑)

プログラム

10 @ARUN:'*N-Gauge Control
20 CLV:VIDEO 3:CLS
30 ?"N-Gauge"
40 ?"Control"
50 LC 14,1:?CHR$(226)
60 LC 14,11:?CHR$(227);
70 V=0
80 @LOOP
90 IF BTN(31) && V>0 V=V-10
100 IF BTN(30) && V<2000 V=V+10
110 PWM 2,V
120 D=V/100
130 DRAW 30,23,30,23-D
140 DRAW 30,22-D,30,0,0
150 GOTO @LOOP

その後:鉄橋と駅

その後、立体交差セットや鉄橋を追加。昨年の台風で不通になっている上田電鉄別所線千曲川鉄橋の雰囲気を再現してみました。
f:id:shiro0922:20200207164714j:plain