信号回路:自動車編②

Pocket

どーもカルアです!!(・∀・)

そしてこれはシャケ案山子です(*´ω`)

2016-08-24_20-35-38

さて、近況も報告しましたし、今日も自動車信号の回路を解説していきましょー

今回解説する内容は、「②どうわける?:信号の考え方」編となります。

このような自動処理のものを組む時は、どういう区切り方で処理をわけてそれを組み合わせていくかが効率化や応用へとつながっていきます。私は生物系統の理系なので詳しい用語とかはわかりませんが、簡単なプログラミングにしてみても「どこを意図してboxをおくか」によってその後の展開が全く変わってきますからね? そして、ここが個人個人での腕の見せ所にもなるわけです。今回はカルア式信号の考え方とそれの組み方をざっと書いていきます。

さて、まず考えるべきは「(時間的に)信号のどこが可変であるべき」で、ぎゃくに「どこが不変となっているか」です。信号が青の時間というのは、そこの交通量、重要度によってまったくちがいます。これらは回路を組むうえでも簡単に調整できるようにするべきです。一方、信号の黄色は3秒です。両方向が赤となっている時間(赤かぶりとでもいいますか)も3秒です。これらは不変なので、回路で遅延を組むことで簡単にまとめることができます。

まあ、紙に書いてみればわかりますが、結論から言いますと、「歩行者の点滅の頭出し」を最初のシグナルとして、そこから遅延回路をくんでいくことで十字路の片側方向をきめることができます。そしてその頭出しを前回紹介したトグルラッチに直結させればあの回路によってそれぞれの青の長さを決めることができるのです(*’▽’)

%e4%bf%a1%e5%8f%b7%ef%bc%92

画質が悪いのは気のせいですね。この図は上2本 (歩行者/自動車) と下2本 (同) で同時に両方向の信号を表しているとともに、右端にからさきは逆側につながっていると考えてもらって結構です。中段にある緑の量矢印がトグルラッチで制御するべき頭出しで、それ以降は上段では3秒刻みのディレイ (遅延) を組むことで簡単に持っていけることがわかるとおもいます。逆に下段では12秒まるまる遅らせて歩行者と道路を同時に青にすればいいわけですね。

さて、ここで少し頭を使わなければいけないことがあります。それは遅延回路の特性についてです。一番単純なデフォルトのリピーターを思い浮かべていただければわかりますが、遅延はRS信号のON/OFFともにどちらもおなじだけ遅らせてしまいます。つまり、下段の12秒おくらせる回路を組んでしまった時点でおなじブロックで制御しようとかんがえると、上の3秒の遅延をうわまわって処理されてしまうのです。これには解決策が二つあります。

初心者の方はすなおに、それぞれの回路をべつべつにくみましょう。次の記事で紹介することはないのですが、基本的にRS→RTM変換のブロックがものすごく多くなるだけですので、組み合わせをじぶんなりに整理しておいていけばなんとかなるはずです(=゚ω゚)ノ

わざわざここまで読んだんだからちゃんと教えろやってひとはこの写真をみてください。

2016-09-09_18-29-28左上のトグルラッチより下側について話します

見えている範囲の上半分は自動車信号の回路、下半分が歩行者信号の回路です。そのなかでさらに平行した部分があると思います。これは「OFF方向だけ遅延回路」とでもいうべきもので、逆流防止用にデフォルトのリピーターを挟んであるほか(注意:これはこまかいtick調整もかねてあるため、不可欠の要素です)、ProjectRed (以降;PR) のリピーターが片側にのみ複数はさんであります。さっしのいい方はわかると思いますが、これによってRS-ONはすぐに伝わるのに対して、RS-OFFはPRリピーターによって信号が保持されるため遅延がかかります。このPRリピーターに12秒を指定してやれば、先ほどの図における上段と下段の遅延時間の違いを同じ回路で処理することができます。(写真の状態ではさらに、反対側の右折信号時間を加味して21秒の遅延が設定されています)

あとは写真のほかの部分について、細かい説明をしていって今回はおしまいです。

右下のPRリピーターは最初の頭出しから3秒の遅延を設定しており、それが歩行者の赤を定義するRS変換器につながっています。一つ上のブロックに移りまして、真ん中の平行の部分は先ほどの説明と全く同じ回路 (最初の図の下段でしめしてあるとおり、歩行者の青とタイミングは同じなので) です。その右端も歩行者の時とおなじで3秒の遅延を設定してあり、これがその一つうえの自動車黄色に対し赤を指定しています。では、のこりの6秒はどこにあるかというと、スペースの関係上左にあるもの (水色の回路) がそうです。

この水色の部分は、自動車の指定している部分を同時に6秒遅延を指定するためnotを介して反転させた内側にさきほどの「OFF方向だけ遅延回路」をくむことで回路の簡略化をテストしたものです。 (べつにこんなことをしなくても、一番下流の部分でそれぞれ遅延を6秒と9秒で組めばいい話なんですけどね。たぶんこの話は④あたりでまた書くことになると思います)

最後に、あちこちにリピーターが複数挟まっていたりしてわかりにくくなっているように見えますが、これはPRリピーターが0.1/0.2/0.3/0.4/0.8/1.6/3.2/6.4/12.8秒の設定ができるようになっているなか、それらをくみあわせてほしい遅延時間を再現しているためです。また、RS回路の性でおもわぬtick差がでてしまうことや逆流防止などでデフォルトのリピーターも含まれています。こういう細かい調整もつめていくことが回路組みの楽しさでもあるので、みなさんもぜひいろいろ試行錯誤してみてください(/・ω・)/

次回は、RS変換器をとおして実際に信号とのつなげ方をご紹介します。

 

それではアデュー!!(^◇^)

The following two tabs change content below.
kahlua

kahlua

ですまち1.7.10のadmin。カルアパンダなのにスキンは鶏だったり、一番好きなのはスプモーニだったりブレぶれなクラフター。他ゲーもいろいろやってます(日記には書かないけど)
kahlua

最新記事 by kahlua (全て見る)

コメントを残す