こんばんは、所長です。
今回はボタンを押す度にONとOFFを切り替えるトグル式スイッチの作り方を紹介します。
通常ボタンは押したら数秒ONになってOFFに戻りますが、これを押す度にONとOFFが切り替わる仕組みに変更するわけです。
んでは行ってみましょう!
ドロッパー & ホッパー & 反復装置型
私がよく使うのはこの型。他のパターンもちょろっとやってみた感じ動かないモノがあったし、統合版ではこの型に統一したほうが良さげかも。
ボタンを押すたびにレッドストーンランプのONとOFFが切り替わります。
作り方
ドロッパーを上向きに設置して、
その上に横向きのドロッパー。
ホッパーを下段のドロッパーに接続。
上段ドロッパーの前にレッドストーンコンパレーター。
ドロッパーとコンパレーターの前後にレッドストーン反復装置。(向きは全部統一で!)
後は入力と出力を設置して、
ドロッパー(上下どちらでもOK)の中にアイテムをひとつ入れます。
これで完成!
仕組み解説
今回の装置はボタンを押すたびにアイテムが下段ドロッパーと上段ドロッパーの間を行き来して、そのアイテムが上段ドロッパー内に存在する時に信号を出力するというもの。言葉にすると長いですね。
アイテムを上下に移動させるだけならドロッパーを向かい合わせで置いても良さそうですが、これではうまく動きません。
何度信号を送ってもアイテムが下段ドロッパーに格納されてしまうのです。
この原因って、恐らく処理の順番が
- 下段ドロッパーが信号を受け取る
- 下段ドロッパーがアイテムを吐き出す
- 上段ドロッパーが信号を受け取る
- 上段ドロッパーがアイテムを吐き出す
だからなんですよね。。。2と3は逆かもしれませんけど。
だから下段ドロッパーが吐き出したアイテムを、上段ドロッパーがすぐ返していると思われます。
ホッパーをつける
それを防ぐためにホッパーを付けます。ただしこれだけではダメ。
ホッパーの処理を挟む分上段から下段へのアイテム移動が遅くなるだけで、ボタンを押す度にアイテムが「下段⇒上段⇒ホッパー⇒下段」のセットを繰り返すのみ。
「下段⇒上段⇒下段」の間にホッパーが加わったところで、結局アイテムは下段ドロッパー内に残り続けます。
反復装置で信号の処理順を変える
この面倒くさい仕様を解決するために、上段ドロッパーの隣に反復装置を設置しましょう。
なぜ反復装置の設置で解決できるかというと、
反復装置を置くバージョン、置かないバージョン、どちらも上下ドロッパーの位置は信号を受け取っていますよね。
この状態で上段ドロッパーの位置を破壊すると、反復装置を置くバージョンは下段ドロッパー部が信号を受け取らないのです。
このことから、反復装置を置くバージョンはまず上段ドロッパーに信号が届き、そこから下段ドロッパーに信号が降りると推測できます。見た目は完全に同時ですけど。
それを踏まえて、信号の到達順とアイテムの移動を考えてみましょう。
下段ドロッパーにアイテムがある場合
- 上段ドロッパーが信号を受け取る
- 下段ドロッパーが信号を受け取る
- 下段ドロッパーが上段ドロッパーにアイテムを吐き出す
という流れになります。
ポイントは上段ドロッパーが信号を受け取るタイミング。
上段ドロッパーが先に信号を受けとってアイテムを吐き出す処理のあとに下段ドロッパーからアイテムを受けとるため、届いたアイテムを下段ドロッパーに吐き出し返すことがありません。
上段ドロッパーにアイテムがある場合
- 上段ドロッパーが信号を受け取る
- 上段ドロッパーがホッパー上にアイテムを吐き出す
- 下段ドロッパーが信号を受け取る
- ホッパーがアイテムを回収
- ホッパーから下段ドロッパーにアイテムが流れる
という流れになります。
上段ドロッパーが最初に信号を受け取るのは変わりませんが、発射先はホッパー上となっています。
下段ドロッパーはホッパーからアイテムが流れてくる前に信号を受け取っているため、受け取ったアイテムを吐き出し返すことはありません。
ホッパーの処理が少し遅いことを利用して、アイテムより先に信号が到達するようにしているのがミソ。
これにより、どちらのドロッパーも「アイテムがあれば吐き出す、なければ吐き出さない」を実現しています。
とても難しいお話ですね。私も解説の難しさに泣きそうです。
コンパレーターの設置
後はコンパレーターを設置して、上段ドロッパー内にアイテムが存在する時に信号を出力するようにしましょう。
しかし、ここでも2点ほど問題があります。
ひとつは、信号の出力が弱いこと。
アイテム1個ではコンパレーターがレベル1の信号しか出力しないので、2ブロック以上離れた場所には届きません。
もうひとつは、ホッパー部が信号を受け取ってしまうこと。
ホッパーが信号を受け取るとアイテムを吸い込む機能が停止するため、
ドロッパーが吐き出したアイテムがどこかに飛んで行ってしまいます。
それを解決するのも反復装置。
反復装置は「信号をレベル15まで増幅する」特性と「信号を一定方向にのみ流す」特性があるため、同時に問題を解決できるのです。
これでトグル式スイッチが完成しました。
仕組みさえ分かってしまえばこんな風に動かしても構わないし、
こんな風にしても問題なく動作することが分かります。
「入力」「装置」「出力」3つのパーツの組み合わせと考えるとより分かりやすいかもしれませんね。
安定性を高めるアレンジ
この装置、何故かたま~に事故ってホッパーがアイテムを吸い取らないことがあります。
それを避けるためにはホッパーの上に下向きドロッパーを付けといて、コンパレーターを置く場所がなくなったので、
さきほどのアレンジよろしく直角にしちゃいましょう。
これでホッパーがアイテムを吸い取るのではなく直接流れてくるので、事故は無くなるはずです。
あ、ドロッパーじゃなくてホッパーをもう1個置いても良さそうですね。
トグル式スイッチの解説は以上です。
一応しばらく回して事故らないことを確認しましたが・・・これで事故ったらお手上げ!
コメント
上段のドロッパーに、アイテムを入れると、コンパレーターがはんのうしてしまうんですが、理由が分かれば、教えてほしいです。
上段のドロッパーをコンパレーターで測定しているので、正しい処理です。
これでよかったんですね。
確かに稼働しました。
あと、これを使った、隠し扉の記事も参考にさせていただいて、書見台による隠し通路がスイッチでもできました。ありがとうございました。