So-net無料ブログ作成

複線8信号レイアウト信号管理+内側自動運転 [自動運転]

 日曜、月曜は家族旅行に行っていました。どっかの都知事が会議に使ったというホテル三日月もいいなあと思いながら、今回は伊東のサンハトヤに行きました。
 箱根小涌園と比べるとかなりプール温泉関連のスケールは小さいですが、まあちょうどよいサイズです。お昼ぐらいに行って夕方まで遊んでました。で、目玉の海底温泉。一日目は微妙な海底温泉で、アジやヒラメしか泳いでいませんでした・・・。(二日目は大きなカメが二匹泳いでいました。)
 で、夕食は昭和の香りが漂うマジックショー付きのブッフェです。普通においしかったです。段差が多くて、かなり食事を持ったままつまづきそうになっていましたが。ショー見ながら食べるなんて嫌だとぶつぶつ言っていた子供も、台が宙に浮いたりするマジックを見ながら喜んでいました。ラインダンスをちょっと期待していたのですがそんなものはありませんでした。で、伊東市がやっている観光花火もホテルの部屋から見えてよかったです。
 子供のころから「伊東に行くならハトヤ」とさんざんCMを聞かされて一度は行ってみたかったところに行けてよかったです。朝は展望露天風呂に入りましたが、初島が良く見えてきれいでした。
 あとは、ホテルの隣に伊東線の単線が走っており、スーパービュー踊り子、普通の踊り子、マリンエクスプレス踊り子、リゾート21(多分)、普通の東海道線、普通の伊豆急など、かなりバラエティー豊かな電車がはしっており、山、線路、国道、ホテル、海というレイアウトでジオラマにするにも良い感じかと思いました。
 で、(前置きが長かったですが、短い)本題です。
 「複線8信号レイアウト信号管理+内側自動運転」を作りました。外回りの電車は本当は手動で操作するんですが、手が足りないので、定速周回しており、信号無視しています。

 内回り、外回り共に信号機制御を行い、かつ、内回りは電車の停止、発車制御も行っております。ただし。S88&制御ループをそれなりに速く回したいので、ArduinoのスケッチでAccのDelayは200→100に変更しております。また、外側も停止してほしい時は次の信号を赤にして、止まってほしい旨伝えるようにしています。
 次にSPX命令は徐々に加速、減速をする命令ですが、これもS88&制御ループを止めるので、SDP命令で一気に停止、出発に変えています。DCCデコーダの加速、減速を使ってなだらかな運転にしたいと思っております。
 また。列車の停止から出発までDelayで待ち続けるとこちらもS88&制御ループを止めてしまい、もう一つの線側の信号機制御を滞らせてしますので、フラグを追加してS88&制御ループを回しながら列車の停止、出発を制御しております。内回りがI、外回りがJです。
また、いろいろと追加したら、プログラム領域がEEP ROM領域に入らなくなってしまったので、涙ぐましい努力をいくつかしています。
・行番号を減らして1行に記述する。
・読みやすくしている「スペース」を削る。
・Print命令は?(短縮形)に変更。
で、ぎりぎり入りました。
以下にプログラムを書いておきます。
67 I=0:J=0:F=0:T=5:L=3:S=35:D=50
68 W=20
100 A=GS8(0)
105 ? "S88(",A,")"
110 IF A&128 GOSUB 200
120 IF A&64 GOSUB 300
130 IF A&32 GOSUB 400
140 IF A&16 GOSUB 500
150 IF A&1 GOSUB 600
160 IF A&2 GOSUB 700
170 IF A&4 GOSUB 800
180 IF A&8 GOSUB 900
185 IF I>0 GOSUB 1000
186 IF J>0 GOSUB 1100
197 IF F=0 DELAY 200
198 F=0:CLS
199 GOTO 100
200 ACC42,0:ACC43,0:ACC54,1:ACC51,1
210 ACC46,0:ACC47,0:SPD L,0:F=1:I=1:RETURN
300 ACC46,0:ACC47,0:ACC42,1:ACC55,1
310 F=1:RETURN
400 ACC50,0:ACC51,0:ACC46,1:ACC43,1
410 F=1:RETURN
500 ACC54,0:ACC55,0:ACC50,1:ACC47,1
510 F=1:RETURN
600 ACC62,0:ACC63,0:ACC70,1:ACC67,1
610 ACC58,0:ACC59,0:F=1:J=1:RETURN
700 ACC58,0:ACC59,0:ACC62,1:ACC71,1
710 F=1:RETURN
800 ACC66,0:ACC67,0:ACC58,1:ACC63,1
810 F=1:RETURN
900 ACC70,0:ACC71,0:ACC66,1:ACC59,1
910 F=1:RETURN
1000 I=I+1:IF I<W RETURN
1010 ACC46,1:ACC47,1:SPD L,S:I=0:RETURN
1100 J=J+1:IF J<W RETURN
1110 ACC58,1:ACC59,1:J=0:RETURN

今回、主に、1000行目以降が追加で、1000、1010が内回りの列車、信号の停止、出発制御で、Iが1以上でカウントアップして、W以上(W=20としている)で出発して、フラグ(I)を下げています。
1100、1110は外回りの制御で、列車の制御はせず、信号機の制御のみをしております。
 外側は別系統のDSMainR5で体験運転にでもしようかと思っております。
 で、今日の夜はシン・ゴジラを見に行きました。モノレールや京急や江ノ電やその他たくさんの電車が出ており面白かったです。ストーリーはあまり憶えていませんが。
 明日から、沿線をデコレーションしていこうかと思います。ただし、バラストなど、粉系は撒きません。あとが面倒なので。
コメント(2)  トラックバック(0) 

コメント 2

Yaasan

Basicプログラムの作成ありがとうございます。本当に助かります。

メイカーフェアには、ワンハンドルマスコンを持っていきますので、CVの最高速度を落とした車両で、子供などに運転させるといいのではないかと勝手に思ってます。Nゲージ車両は持ってないので他力本願ですが・・・。
by Yaasan (2016-08-03 20:10) 

fujigaya2

こちらこそ面白い仕組みありがとうございます。

外側のレーンをお子様に開放しようと思います。
電車は持っていきますので、
ワンハンドルマスコンとそれ用のDCC/MM2シールドの
準備をお願いいたします。

よろしくお願いいたします。

by fujigaya2 (2016-08-04 21:43) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0