先日は、
■ 前回の回路の改善と拡張 【マインクラフト統合版 1.16.40】
にて、先日作った回路の改良や機能の追加を行いました。
ト ーチの焼き切れによる回路
先日も書きましたが、この仕様は統合版とJAVA EDITIONの双方に存在するのですが、2ティックで焼き切れる特性があるので、大型回路を組む場合には、この特性がある事を踏まえて回路を設計する必要があります。
まず、トーチの焼き切れですが、
の構造にして、上にレッドストーンを敷いて信号が回帰するようにすると動作します。最初に点滅が続いて焼き切れるのですが、この状態で周辺にブロックが来るとブロックアップデートを検知します。
先日は、
のようにパルサー回路を使っていましたが、遅延でも対応できるので、今回は、
のように最大遅延と1遅延(通常の配置)の物を組み合わせてパルスを得るような作りにしてみました。この状態で、
のようにRSラッチ回路に信号を送り、
のようにセットの信号でドアを動かし、木の感知板でリセットをかけると、先日の回路になります。
先日のが、
になりますが、今回のは、
ですから、サイズ的に少し小さくなったのと、ピストンを使わないので、今回の回路は 【 鉄インゴットが不要 】 と言うメリットもあります。また、使っている物の全ては、オーバーワールドで入手可能な素材なので、レッドストーンを見つけた後に樹木の伐採を行うと作れるような素材のみで構成されています。
この回路は、高速なクロック信号を二度のパルス信号に変換して、それをラッチで固定することにより、一つ目の信号を得て二度目の信号以降の入力を遮断するしようになっていますから、
のようにアイテムが空の状態のチェストに
のようにアイテムを入れると、1度目の信号をRSラッチ回路で得て、セットの信号として記憶するので、それ以降の入力信号を受け付けなくなります。そして、そのセットの信号はドアに繋がっているので、ドアが開きます。
そして、リセットの信号は、木の感知板で送るようにしてあるので、
のようにアイテムを置いたり、MOBやプレイヤーが接触するとセットの信号がリセットされるのでドアが閉じます。
RSラッチ回路の挙動ですが、最初は、
のようになっていますが、アイテムを入れると、
のように信号が入れ替わります。この状態で信号がロックされるので、連続して信号が流れてきても、最初の信号以降は遮断する事が出来ます。しかし、先日も書きましたが、トーチの焼き切れで発生する高速クロックを流すと、RSラッチ回路がクロック回路になってしまいますから、クロック回路にならないような信号の速度があります。今回は、そのクロック回路の速度調整をレッドストーン反復装置で行っています。
適正な速度で信号が流れると、RSラッチが働くのですが、前述の条件を踏まえると、 【 RSラッチでの記憶を行う場合、高速で黒く信号が来ると回路が壊れる 】 という事になります。その為、高速クロックで信号をラッチを使って維持しようと思うと、リピーターロック方式を使う必要が出てきます。
この状態でロックをかけた場合、信号が維持されますから、ドアを開いた状態にできます。RSラッチ回路はリセットで信号を元に戻せるので、
のようにリセット側の信号を送ると、回路の状態が初期化されます。その為、
のようにアイテムで開いて、その後、感圧版で閉じる一方通行の通路を作る事が出来ます。
回路は動きを見たほうが解り易いと思ったので、これもYouTubeに動画をアップしておきました。
■ 信号の遅延を使った回路
ア イテムの制御機能を追加する
検知機能はこんな感じで作れましたが、今回は、この回路を拡張して、アイテムを回収できるようにします。ラッチを挟むと、最初に入れたアイテムだけ回収できて、その後に入れたアイテムは回収されないという作りにすることができますが、今回は、
の回路を拡張して、最初に入れたアイテムが残らないような作りにしてみました。
まず、
のように大きなチェストにホッパーを刺します。そして、
のようにNOT回路を配置して、ホッパーにロックを掛けます。そして、ホッパーの上にチェストを置いて、
そのチェストにトーチの焼き切れによるセンサーを配置します。
のようにNOT回路を階段状に並べて、
のようにレッドストーンを配置して信号を回帰させると、しばらくクロックしますが、少しすると焼き切れます。焼き切れた後は、下のレッドストーン松明の周辺のブロックアップデートと周辺に置いたチェストのインベトリのアップデートを検知できるようになります。
これで、チェストのインベントリのアップデートの検知が出来るようになったので、ここから信号を取ります。今回は、
のようにL文字に曲げて距離を稼ぐことにしました。今回も同じ遅延を入れて、この信号をRSラッチ回路に送ります。
これで二度のパルスの最初の信号のみを記憶することで二度目の信号を遮断できるようになるので、このセット側の信号を得ることにします。最初に信号がおかしくなってしまうことがある)から、一旦、感圧版でリセットをかけて、適正な状態にしておきます。(画像の状態はセットの信号が入っている状態なので、リセットをかける必要があります。)
今回は、RSラッチ回路に入ってきた信号でロックを解除する事にするので、セット側の信号を取る事にします。この時に、持続した信号が出てしまうと、ホッパーのロックが常に外れてしまうので、パルサー回路で短い信号を出す事にします。今回は、
のような遅延を使った物を使用する事にしました。この信号を、
のように回帰させただけでは、ホッパーでアイテムが止まってしまうので、信号の長さを調整するために、レッドストーン比較器で信号の持続時間を調整しておきました。
これで、長い信号が出るのですが、あくまでも、パルス信号の持続時間を長くしただけなので、RSラッチ回路にの挙動と同時に起きる現象ですから、その後のアイテム投入に影響を与える物ではありません。(回収のタイミングでアイテムを投げ込むと吸い込まれる気がしますが...。)
その為、最初のアイテムを入れて、改修された後にアイテムを入れても、RSラッチ回路にセットの信号が入っているので、このパルサー回路が機能しないので、ホッパーにロックがかかった状態になります。
その為、最初のアイテムの回収後にアイテムを投入しても、そのアイテムはチェスト内に維持されるようになります。
そして、セットの信号を分岐させて、ドアへと送ります。
これで、投入のアイテム回収と度が開いて状態が維持されるようになりました。あと、リセット側の信号を出すだけなので、
のように木の感知板を用意して、信号をリセットをかけるようにすると、ドアを通り抜けるて木の感圧版を踏むとドアが閉まる回路が完成します。
その為、セット側の回路で何を行うのかで条件が変わりますが、こう言った制御もできます。
回 回路の挙動
この回路ですが、瀬戸の信号が入っていない状態だと、
のようになります。目の前に見えているのが、セットの信号がオンになると点灯するレッドストーン松明です。
この状態で、チェストの中身は、
のように空ですが、
のようにアイテムを入れると、少ししてアイテムがホッパーに流れます。
そして、アイテムは、
の場所の大きなチェストに格納される仕組みになっています。
RSラッチ回路のセットの信号が出ているので、
のように信号は維持されていますが、ホッパーのロックの解除はパルサー回路から出た1つの信号のみなので、その後は信号が切れた状態になっています。その為、一旦アイテムが回収された後にこの状態になっていると、アイテムを投入しても、
のようにアイテムはチェストの中にとどまった状態になります。この回路では、インベントリのアップデートを使っているので、亡くなった時にも動いてしまうので、 【 アイテムがある状態で動く物ではない 】 のでリセットをかけるまでアイテムの投入しないようにする必要があるので、アイテムの投入と言う条件で動くようにする場合には、異なる作りにする必要があります。
セットの信号が入ると、
のようにドアが開くのですが、ここで感圧版を踏んでリセットをかけると、
のようにドアが閉じて、最初の状態に戻ります。とりあえず、今回は、
のような感じの作りになります。
ちなみに、この回路では、
■ インベントリのアップデートで動く
■ 高速クロックを2度のパルスに変換
■ RSラッチ回路で2度の信号を1つの肯定した信号にして
信号を維持する(リセットで解除)
■ 維持された信号をパルス信号に変換し、信号の持続
時間の変更
を行っていますが、前回と異なり、ピストンを使っていないので、ピストンの音はなくなりました。
この回路も実際に動いている物を見たほうが解り易いと思ったので、今回もYouTubeに動画をアップしておきました。
■ 信号の遅延を使った回路
先日は、こんな感じで、固定した信号をパルサー回路で一瞬だけ1つの信号を出すように変換しており、更に、その持続時間が短いので、レッドストーン反復装置を使った慎吾の持続時間の延長も行った物を実装したのですが、今回は、そのレッドストーンの信号の持続時間とホッパーについて書こうかなと思います。
レ ッドストーン信号の持続時間
先日は、
のような物を作り、パルサー回路と通常のボタンからの信号の長さによる挙動宇の違いについて書きましたが、パルサーは信号が短いので、
のようになり、ボタンは信号の持続時間が長いので、
のように4つ出ます。これについては、
■ 信号の持続時間と移送の変化
で比較をしているので、実際の挙動の違いが確認できると思いますが、ここでは、レッドストーン信号で、ホッパーにロックをかけています。
ホ ッパーにロックをかける
ホッパーの仕様ですが、
のようにホッパーに直接信号が来るとホッパーはアイテムを移送できなくなります。その為、
のようにホッパーの上にレッドストーンを置いて、信号を流してもロックがかかります。これは下側でも同じですが、レッドストーンブロックやレッドストーン松明の場合だと、離接させるだけで、ホッパーはアイテムが移送できなくなります。
レッドストーンに関しては、ピストンなどと同じで、
の状態だと、ホッパーには影響を与えないので、ロックをかける場合には、
のような作りにする必要があります。
ア イテムの移送速度の違い
ホッパーやドロッパーには、移送速度があらかじめ指定されているので、指定された速度でアイテムを移送する事が出来ます。この条件で考えると、単一で送るよりも並列処理をしたほうが速度が出るわけですが、実際に確認してみると、単一のホッパーよりも複数のホッパーで送ったほうが速いことが確認できます。
その確認用に
のような物を作ってみたのですが、これは、上のチェストが空になるとランプが点灯し、アイテムが入っている状態だと、消える仕組みの回路です。ここで、
のように通所のチェストと大きなチェストを用意して、片方は、一つのホッパーで移送して、大きなチェストは二つのホッパーで送るようにしています。この状態で、チェストと大きなチェストに対して、
のようにそれぞれ1スタックのアイテムを入れて、ホッパーのロックを解除して移送してみると、
のように並列処理をしたほうが先にアイテムを移送しており、通常のチェストの構造だと、暫く経過してからアイテムの移送が終わります。
この仕組みですが、移送なので、常にアイテムは減りますから、最終的に0になった条件を出せば、移送が終わったことになります。今回のテストでは1スタックのアイテムを移送しきるまでの条件ですから、
【 移送が終わる 】 = 【 アイテムが0になる 】
と言う条件なので、チェストのインベントリをレッドストーン比較器で検知して、これをNOT回路で信号を反転させると、アイテムが入っていない状態を検知できるようになります。
この状態で、 【 アイテム数0の検知 】 をして、NOT回路の信号でレッドストーンランプが点灯するようにすれば、移送の終了を知らせるランプとして機能します。
この回路も
のようなギミックを意図的に入れていますが、やっている事は、
と同じです。回路的には後者のほうが速いですが、見た目が地味なのといつ始まったの変わらないので、ピストンで動くようにしてみました。
■ ホッパーの移送速度の違い
今 回の回路
今回は、ホッパーのロック機構を使って、
【 必ず1つだけアイテムが出てくる回路 】
を作ってみました。上から見ると、
のようなサイズで、
のような感じになっています。この回路は最初に1スタックのアイテムを入れて
のようにアイテムを補充して一度動かしてから、
のように大きなチェストまで繋がっているチェストとホッパーにアイテムを入れた状態で運用したほうが使いやすいです。こうすることで、同じアイテムが重複した場合でも使えるようになります。
この状態だと、ホッパーにロックがかかっているので、アイテムが移送されなくなっているので、上のチェストに複数のアイテムを入れても流れなくなっています。
回 路の構造
今回の回路は、アイテムが移送された状態で動く仕様になっているので、複数のアイテムを入れる事を前提とした場合、この状態で埋めて運用する事になります。ひとつづつしかアイテムの投入をしない場合だと、最終的にアイテムを格納する大きなチェストに繋がったホッパーだけにアイテムを入れておけばいいのですが、今回は複数のアイテムを想定した状態にしています。
この回路では、最初にアイテムが送られてくるチェストのインベントリをレッドストーン比較器で検知しています。
この信号でホッパーのロックを解除するので、信号を上に上げる必要がありました。そこで、
のようにレッドストーン松明を使って信号を上に上げることにしました。
レッドストーン比較器の信号は、インベントリの総数で距離が変わるわけですが、この場合、アイテム数で信号の強度(信号の長さ)が変わります。今回は、アイテムの有無で1つしかアイテムが来ないので、信号強度は1になります。そこで、この信号を増幅するために、レッドストーン松明をつかって信号強度を15まで増やしています。この信号を、
のように延長して、最初にアイテムを移送するためのホッパーの移送を制御しているNOT回路に繋ぎます。
これで、
■ アイテムがない時 : FALSE
■ アイテムがある時 : TRUE
になるので、アイテムがない時にはホッパーのロックが解除され、アイテムが入った時にはホッパーにロックがかかります。
そして、レッドストーン比較器の信号を
のようにトーチタワーからレッドストーン比較器で取り出します。
この構造は何か解りにくいかもしれませんが、上と横方向への信号の分岐になります。その為、信号の伝達後にブロックを挟むと遅延は発生しますが、平面3方向だけでなく、上方向にも信号を分岐させることができます。これは一つの信号で異なる回路を動かすとKに使う手法ですが、理科で出てくる 【 並列回路 】 がこれになります。
今回は、 【 アイテムの状態とボタンで動作する回路 】 にしたので、この信号をAND回路に送ります。
この状態で、【 アイテムがある場合 】と言う条件をクリアできたことになります。
今回はボタンで動作するので、
のようにボタンを配置して、その下のレッドストーンに信号を送るようにしています。この信号は、パルサー回路に繋がっており、
のように伝達され、この信号が、
のように横方向に出るようになっています。このパルサー回路の信号が、
のようにレッドストーン反復装置を経由して、
のようにAND回路に到達します。このAND回路の信号を
のように延長して、大きなチェストにアイテムを移送するためのホッパーにロックをかけているNOT回路に接続します。
このNOT回路の信号が切れることで、
この場所のホッパーのロックが一瞬だけ解除されるので、チェストから1つアイテムが降りてきます。それと同時に、ホッパーに格納されているアイテムが大っきなチェストに移送されます。この状態の変化は上のホッパーのロックにも連動していますから、一瞬だけロックが解除されるので、上のアイテムも1つだけ移送されます。
の状態で、
のようにボタンを押すと、
のように1つだけアイテムを移送する事が出来ます。
■ 1つだけアイテムを移送できる回路
M inecraftのプレイ環境
■ Core i5 650
■ H55M-Pro
■ DDR 1333 2GBx2+1GBx2(DUAL CH)
■ Quadro K620(PCI Express x16 【GEN2動作】)
■ SATA HDD
■ WINDOWS 10 x64 (1909)
■ MINECRAFT BE 1.16.20
(*)ESBE_2Gを使用しています。
シェーダーパックを使用していますから、バニラの
画質ではありません。
(*)このワールドは試験的なプレイをオンにしているの
で通常のワールドとか挙動が違っている可能性も
あります。
【 使用したソフト 】
■ GIMP 2.10.12
■ PowerDirector 16 Ultimate Suite