テクニック > レッドストーン回路


Minecraftのゲーム内で機械的な装置を作るためのレッドストーン回路を紹介します。
基本的な動作についてはレッドストーンのページを参照。
ピストンを使って小型化された回路等、一部はテクニック/ピストンにもあるので必要があればそちらも参照。



回路

RSトーチを使うことで、論理回路を組むことができる。
RSトーチを通過する動力の流れは一方通行で、出力側に入力装置を置いても意味が無い。
以下は基本的な論理回路の紹介です。
回路の組み方は他にも沢山あるので、あくまで参考として扱ってください。

以下の回路はRedstone Simulatorの記法にのっとって表示されています。
  • Redstone Simulator - Windows/Mac/Linux。レッドストーン回路のシミュレーター。
    • 右クリックでブロックの設置・左クリックで削除。再生でシミュレート開始。
    • 白を基準として、黄色は1段上、灰色は2段上にブロックがあることを示す。
    • 灰色の四角が感圧式スイッチで、シミュレート時にマウスを乗せるとONになる。
    • 小さい四角がボタンで、シミューレート時にクリックするとONになる。
    • 右端の縦棒はドア。
    • 再生ボタンの右側の上下ボタンで高さを変えることもできる。
    • 出力したgifの1/2、2/3は高さ(何段目)を指します。
アイテム別 凡例
固形ブロック(導体)
RSトーチ
RSワイヤー
(レッドストーンパウダー)
RSリピータ
外側の赤い線の数が設定遅延数
ボタン
レバー
感圧板
ドア
ピストン
粘着ピストン
O以外のアルファベット
特に指定が無ければ、入力を指す
アルファベットのO
特に指定が無ければ、出力を指す
Redstone Simulatorでのトーチ図。左から
地面設置時、同点灯時、壁設置時、同点灯時
※RSワイヤーは接続先が無い場合は十字ないし点で、そうでない場合は線で表されます
※RSトーチ・レバーは壁に刺した場合と地面設置の場合で表示が異なります
※RSワイヤー・トーチ・リピータ等は動力を得ている場合は明るい赤で表されます


ピストンやRSリピーターを用いた回路図には以下のツールを使うと良いでしょう。
使い方・記法は上記シミュレータとほぼ同じです。

論理回路(基本)

基本的な回路素子。not(反転)、and(論理積)、or(論理和)を組み合わせて作られる。これを組み合わせ回路とよぶ。



NOT



A O
0 1
1 0
入力AがONの時に、出力OがOFFに
入力AがOFFの時に、出力OがONになる。
RSトーチの特性上、信号は一方通行になる。

コンパレータを使ったNOT回路
MC1.5から新たに追加されたRSコンパレータの後背面に動力源をおき、側面から入力(ONのときには後背面からの入力と同等以上の強さになるように調整)することでトーチを使用しないNOT回路が可能。
トーチが焼き切れてしまう3クロック以下のクロック回路を使用する際に有効である。

リピーター



通常レッドストーン回路の信号は15ブロックまでしか届かないが、
RSトーチを挟むことで15ブロック以上伸ばすことができる。ただしタイムラグが発生する。
タイムラグをできるだけ減らすには、15ブロックごとにRSトーチを置くといいだろう。
装置自体を長くすることでタイムラグを減らすいくつかの工夫が考えられている。

現在はレッドストーンリピーターを使ってリピーターにすることが可能。

OR



A B O
0 0 0
1 0 1
0 1 1
1 1 1
入力A・入力B・入力CのどれかがONになったときに、出力OがONになる。

単純に一箇所に回路を3本以上つなげると、OR回路になる。
入力部分の回路の光り方が混同して紛らわしいという場合は、デザインBを使うといいだろう。

AND



A B O
0 0 0
1 0 0
0 1 0
1 1 1
入力A・入力BのどちらもONになったときに、出力OがONになる。
デザインA,BどちらもNANDの反転である。

コンパレータを使用したAND回路

NOR



A B O
0 0 1
1 0 0
0 1 0
1 1 0
NOT OR。ORの出力Oが反転したバージョン。
RSトーチを1つ使った、Minecraftでは最も基本的な回路のひとつ。

NAND



A B O
0 0 1
1 0 1
0 1 1
1 1 0
NOT AND。ANDの出力Oが反転したバージョン。
ANDより単純で、基本的な構造である。

XOR



A B O
0 0 0
1 0 1
0 1 1
1 1 0
入力A、入力Bのどちらか片方だけがONの時に、出力OがONになる。
入力A、入力Bの両方がON、または両方がOFFの場合は、出力OはOFFになる。
三路スイッチとして使うことも出来る。

コンパレーターを使ったXOR回路

XNOR



A B O
0 0 1
1 0 0
0 1 0
1 1 1
NOT XOR。XORの出力Oを反転させたバージョン。
単純にXORの出力にNOTを付けることでXNORはできるが、遅延が減るように色々と工夫がなされている。

コンパレーターを使ったXNOR回路

IMPLIES



数学演算子A→Bを満たす場合にONになる回路。
A B O
0 0 1
1 0 0
0 1 1
1 1 1

入力AがOFF→ONになるときに信号を発信するリピーターを使った回路。
リピーターの設定を変えることで信号の長さを変えることが出来る。


パルサー


A O
0 1
0→1 0→1
1 1
1→0 1
RSトーチx4を円状に配置して構成されている。
入力AがOFF→ONに変わった瞬間に、OFFになった後すぐONになる信号を発信する。
入力Aがそれ以外の状態の時は常にONを出力し続ける。
OFF→ONに変わる瞬間を検出するのに使われる。

リピータロックを用いたパルサー回路
リピータロックを利用すればRSトーチを一切用いないパルサー回路が可能である。
図の回路ではONからOFFになった瞬間に発信する。最短で1tickの信号長で発信できる。


コンパレータを用いたパルサー回路の例(+1tickパルス形成回路)
コンパレータを用いてもトーチを使用しないパルサー回路が作成できる(図左)。ただし、コンパレータはトーチと同様に1tickの入力の変化には応答しないため、トーチ式と同様2tick以上の幅の信号しか出力できない。
図の回路の右半分は2tick幅の信号を受けて1tick幅の信号に整形する回路である。コンパレータによるリピータロックを利用して、2tickの信号のうち前1tick分を切り捨てている。図の配置の場合、コンパレータ側面へのパルス入力は15である必要が有る。


順序回路(ラッチ回路・フリップフロップ回路)



論理回路を組み合わせることで、入力信号を保持するメモリを作ることができる。これを順序回路という。
ここからは電子工学系の知識が必要になるので注意。電卓をはじめとした、巨大な回路を作りたい方向け。
Wikipedia - ラッチ回路
Wikipedia - フリップフロップ

RS型フリップフロップ



2入力端子回路。基本動作としては、0のときは保持し、1のときにセット及びリセットの動作をする。
R=S=1の動作はRS-flipflopの定義である双方の出力が反転するに違反な為、基本的にはしてはいけない。場合によっては不安定な動作を引き起こし、発振とよばれる予期しないクロックが発生する恐れも回路の形によってはあるので注意。

RS NOR latch



S R Q NOT(Q)
1 1 0(禁止) 0(禁止)
1 0 1 0
0 1 0 1
0 0 保持 保持
S:セット R:リセット Q:出力 NOT(Q):Qの逆値
SとRの入力ポートを両方ともOFFにすることにより、データを保持する。
この時、たすきがけのフィードバック回路により、 QとQの出力が、一定値、かつ、それぞれ逆の値で保たれる。
R(Reset)がOFFの間に S(Set)が一瞬でもONとなった場合、Q出力がONとなり、SがOFFに戻った後も QはONを保持する。
同様に、SがOFFの間に Rが一瞬でもONとなった場合、Q出力がOFFとなり、RがOFFに戻った後も QはOFFを保持する。
ただし、R=S=1の入力は禁止されている。なぜなら、出力値が一致してしまい、RS型フリップフロップ回路の定義を破る結果になるからである。
基本的にSとRの両方をOFFにセットしておいて、一瞬だけSやRをONにする、という使い方をする。
実用的な例としては、T字路に繋げることで、そこを通るたびに進行方向が入れ替わるのでMOBを振り分けることができる。

RS NAND latch




#image(通常のRS NAND Latchの動作をするシミュレーション画面回路図の提供を求めています。)
S R Q NOT(Q)
1 1 1(禁止) 1(禁止)
1 0 1 0
0 1 0 1
0 0 保持 保持
S:セット R:リセット Q:出力 NOT(Q):Qの逆値
RS NOR Latch回路と基本動作は同じ。但しR=S=1のときの動作がQ=Not(Q)=1になった。


Not RS NAND Latch



NOT(S) NOT(R) Q NOT(Q)
1 1 保持 保持
1 0 0 1
0 1 1 0
0 0 1(禁止) 1(禁止)
RS NOR latchのNAND版。入力は~S(Sの逆値)と~R(Rの逆値)。


RS Flip-Flop



#image(シミュレーション画面回路図の提供を求めています。)
C S R Q NOT(Q)
1 1 1 0(禁止) 0(禁止)
1 1 0 1 0
1 0 1 0 1
1 0 0 保持 保持
- X X 保持 保持
S:セット R:リセット C:クロック Q:出力 NOT(Q):Qの逆値
RS Latch回路をクロック入力がされたとき、RS入力の状況によって反映させる。それ以外の時は保持する。


D型フリップフロップ


この回路はデータ入力とクロック入力で構成される。クロックの状況によって、データ入力の結果を保持する。
D-Latch回路はクロック入力だが、レベルエッジとよばれるもので、クロック同期はしない。wikiで紹介するハイレベル式ではC=1のときに保持する。
D Flip-Flop回路はクロック入力の立ち上がり時のD入力の状況が反映され、それ以外では保持される。


D Flip-Flop




D-Latch回路
C D Q コメント
0 0 0 リセット
0 1 1 セット
1 0 保持 前の状態のQを保持
1 1 保持 前の状態のQを保持

D Flip-Flop回路
C D Q コメント
- X X 前の状態のQを保持
0 0 リセット
1 1 セット

"Data" Flip-Flop、もしくは"Delay"Flip-Flop。

1.A型(D-Latch回路)
入力CがOFFの間は、入力Dが出力Qに素通りする。
入力CがONの間は、入力CがOFF→ONのなった瞬間の入力Dの状態を保持する回路。


リピーターロックを利用したD-Latch回路(Low Level Edge)
リピーターの側面からリピーターによる入力を行うと前回の出力の状態を保持する機能「リピーターロック」が使用できる。これをそのまま利用したものがこの回路である。

クロック入力がオフの時に保持するD-Latch回路(High Level Edge)
クロックをNOTすると逆の場合も作れる。用途に合わせて使用するといい。

2.B型(D Flip-Flop回路)
Cはパルサーが接続された。これにより、C入力の立ち上がり時のみD入力が反映されるようになった。


リピーターロックを使用したD Flip-Flop回路
二重にロックし、それぞれを逆の対応にすることで作成することができる。




Cにクロック回路をつなぐことで、クロックごとに入力Dの状態を保持するレジスタとして動かせる。
S,Rの入力はつけなくてもよい。
保持部分はRSラッチになっていて、S,Rに入力すると、CがONの状態でも、それぞれ状態をON,OFFに変更することができる。

JK型フリップフロップ


RS Flip-Flop回路の問題である、R=S=1の動作を改善し、反転機能をつけた回路。この回路はクロック入力による同期が必須であるため、非常に大きくなりがちである。

JK Flip-Flop



C J K Q コメント
0 0 保持 前の状態のQを保持
0 1 0 リセット
1 0 1 セット
1 1 反転 前の状態のQを反転
- X X 保持 前の状態のQを保持
JKの由来は不明で、いくつか諸説ある。
RS Flip-Flop回路の問題だったR=S=1の動作を改善して、反転するようにした。
ただし、J=K=1のときはResetとSetがそれぞれの動作を反映させようとするので反転を繰り返す。そのため、C入力はパルス信号で同期させて動作させる。
クロックCがOFF→ONになった瞬間にのみ動作する。


リピーターを使用したJK Flip-Flop

ホッパーを使用したJK Flip-Flop
アイテムを一つ入れると動作する。
参考:【ニコニコ動画】【Minecraft】JK-FFと同期式2進カウンタ【1.5.0~】



T型フリップフロップ


Tが立ち上がりするたびに反転する回路。
T入力とC入力は統合させる場合が多いが、分けることも可能。
動作としてはJK Flip-Flop回路のJKCを統合させたものなのでJ=K=1のときの動作と同じになる。

T Flip-Flop



T 前の状態のQ Q コメント
0 0 0 前の状態のQを保持
0 1 1 前の状態のQを保持
1 0 1 前の状態のQを反転
1 1 0 前の状態のQを反転
"Toggle" Flip-Flop。
入力TをOFF→ONにした時に、出力Qを反転させる回路。
入力TがON→OFFになる時は、変化しない。
入力Tに感圧式スイッチ、出力Qにドアを繋ぐと、踏むごとに開く/閉じるが切り替わるトグルスイッチになる。
デザインA・Bの入力側はパルサーになっている。
デザインCは入力を4クロック以下のパルサーにしないと期待した動作にならない。
応用:Tにクロック回路を繋ぐことで、Qから1/2の周波数のクロックを出力できる。
注意:デザインCは入力をオンのままにするとショートする。周波数を落とすのに有効。

リピーターを使ったT-Flip-Flop回路


D Flip-Flop回路を使ったT Flip-Flop回路
D Flip-Flopの出力を反転し、メイン入力にさすことでClockをトグル入力として使用することができる。レバーやセンサーなどの入力にも対応している。

リピーターロックを使ったT-Flip-Flop回路
画像の状態からボタンが押されると、
ボタンに接続されているトーチが切れる→リピーターのロックが解除→ループ上のトーチから動力が来ていないのでループ部分の動力が切れ始める→
ピストンoff、引っ込む→上の二つ並びのリピーターの遅延中にボタンからの入力解除、ロック再開→
ループのトーチに動力が来ていないので点くが、入力先がロックされているのでピストンoff状態維持。

ピストンoffからボタンが押されると上記のロック解除後の入力が反転、
ロックされるリピーターが点いた状態でロックされるので画像の状態に戻る、といった具合である。

コンパレーターを使ったT-Flip-Flop回路
基本的には上のリピーターロックを利用したT-FFと同じだが、1.5で追加された「Redstone Comparator(レッドストーンコンパレーター)」を使用した物である。

コンパレーターを使ったその他のT-Flip-Flop回路
ディスペンサーの仕組みを応用したもの。
ディスペンサーに水バケツ、チェストの中にツール類を入れ1枠埋めてある。
ディスペンサー側のコンパレーターは、バケツが空になると1、水が入ると2を出力する。
チェスト側の信号は常に1となるため、減算モードで0か1になるように調整している。
ドロッパーの輸送を応用したもの。
中にツール類のようなスタックできないアイテムを入れる。
参照:youtube


クロック回路



クロックとは、論理回路が動作する時に、複数の回路のタイミングを取る(同期を取る)ために使用される周期的な信号。
周期的にON/OFFを繰り返して出力する。
単純に電飾としても使える。
奇数個のRSトーチを円状に配置することで、クロック回路を作ることができる。
デザインAは非常に速いクロック回路。RSトーチを4つにすることでRSトーチが全て焼き切れることが無く動作し続ける。
デザインB,Cは、シンプルで安定した5クロックの回路。1クロックや3クロックの回路も作れるが、速すぎてRSトーチが焼き切れてしまう。

β1.3より レッドストーンリピーターが新しく追加され、コンパクトに作成する事が可能となった。

レッドストーンリピーターはレッドストーンから送られてきた信号を出力先に送るまでの時間をある程度指定でき、レッドストーンリピーター同士の連結も出来ます。
これによりクロックのOn/Offの周期を手軽に変更できることが大きな利点です。

この回路の場合、トーチの遅延により左右にズレが生じるため、左右両方から信号を取り出す際にズレを無くしたい場合は下図のようにリピーターを設置します。

なお、最速で駆動するクロック回路は以下のものになる。
この回路はレッドストーントーチを使用していないため、焼き切れることはない。
また、この回路は信号長1を発信するパルサー回路を使用しないと動かない。
パルサー回路との接続例は以下のようなものになる。

コンパレータを使用した1tickクロック回路
この回路から信号を得る場合、OFF時にも2以下の微弱な信号が流れ常にONとなるのでコンパレーターから3つ以上離す必要がある。


タイマー(長時間遅延装置)


ホッパーとコンパレーターを使用した長周期クロック回路

赤い矢印はRS動力を表す。ホッパー内のアイテムの有無をコンパレーターが出力し
ブロックを介して次のホッパーの動作を停止する。
ホッパーが1個のアイテムを輸送するのに4ticksかかるので、64x5=320個で1280ticks、
1周するのに4倍で5120ticks必要になり、最大で512秒。(レッドストーンの1tickは約100ミリ秒)

ホッパーとコンパレーターを使用したカウンター

■タイマー回路の部分
①はボタンスイッチが入れられ、RSブロックが左に移動したところ。
この時右ホッパーは、空になるまで中のアイテムを左ホッパーへ移動する。
右ホッパーが空になる、とスイッチ側コンパレーターは信号をOFFにするので、RS動力はNOTを介して左のピストンをONにする。
するとRSブロックが押し返され②の状態になり、左ホッパーは停止が解除されて、アイテムを右のホッパーへ移動する。
右のホッパーは停止しているので、左ホッパーのアイテムが空になるとタイマー回路はそのまま停止する。

※タイマーが出力する信号の長さは、アイテム数x[4ticks(往)+4ticks(復)]である。(ホッパーの動作は4ticks)

■クロック回路の部分
2つのリピーターをそれぞれ遅延を4ticksにして、ピストンの1動作をちょうど8ticksにしている。
タイマーが出力する時間内に動作は繰り返されるので、ちょうどアイテムの個数分カウントしている様に見える。

B.U.D(Block update detector)


ブロックの更新を検知する装置。
主にピストンによるB.U.D装置が主流であるが、コンパレーターによるB.U.D(CUD)やドロッパーによるB.U.Dも存在する。

コンパレーターを使用したB.U.D (Comparator update detector)

検知元はコンパレーターなのでコンパレーターの側面を検知させる。
参考動画:Minecraft - Comparator Update Detector (CUD)

ドロッパーを使用したB.U.D

検知元はドロッパー。ピストンを使用しない静音型である。
予めドロッパー内にスタックできないアイテムを入れる。
参考動画:WORKING Silent BUD(s) Minecraft 1.5


検知元はドロッパー。こちらはピストンを使用する。右のパターンは横に並べることが可能で汎用性が高い。
予めドロッパー内にスタックできないアイテムを入れる。
参考動画:【Minecraft】ドロッパーBUD(とカボチャ畑と製氷機)withゆっくり【1.5.1】

ピストン回路



解説動画

基本回路



NOT,OR,NOR

NAND,AND

XOR,XNOR

応用回路



クロック回路

参考リンク


編集用コメント

コメント欄の方針に関してはコメント欄方針を参照して下さい。
wikiの編集が苦手な方は、以下のコメントフォームへ書き込んで頂ければ有志でページに取り込みます。
※コメントを投稿する際は、以下の点を確認して下さい※
  • 編集に関わらない内容のコメント・質問・雑談 は一律して削除されます。
    Wiki運営に関してはWiki運営掲示板、質問は質問掲示板、雑談等は非公式フォーラムにてお願いします。
  • 投稿の前に、一度コメントログや、バージョンアップ直後はパッチノートにも目を通し、 既に同じ内容が載っていないか確認して下さい。
  • 投稿されているコメントへの返信の際は、 返信したいコメント横の○にチェックを入れて 返信して下さい。
    表示できる親コメントの数は限られます。新規投稿をむやみに行うことは、他のコメントが流れてしまう要因になります。
  • 向かい合わせたドロッパーとホッパーによるパルサー回路を載せてください - 名無しさん 2015-08-22 01:54:00
  • リピーターのみを使用した最速クロック回路、一瞬だけトーチを置くことで起動できました。 - 名無しさん 2015-11-06 10:49:38
  • リピーター(偶数設置。すべて遅延最大にして、前方と後方に同じ数だけ置く。)とレバー(1つ。ONにしたらすぐこわすかOFFにする)、レッドストーン(リピーターの前方後方の左右先端に4つリピーター設置)したらクロック回路が出来ます。(リピーターの数だけ戻ってくる秒数が違う) - holypotter 2015-11-10 17:20:20
  • XNOR回路なのですが、出力側の先のトーチの上にパウダーを置かないとマインクラフトPEでは正常に動作しません。 - かおるちゃん 2015-12-16 17:31:29
    • マイクラPEではなのでpc及びps3では確認してませんが - かおるちゃん 2015-12-16 17:32:22
  • パルサーはもっと小さくできるし早くできる。RSとRSトーチで作る方も。 - 名無しさん 2016-02-21 09:49:05
  • ここでで使用されているスクショでテクスチャを変えているものがありますが、バニラで統一した方がいいと思いますがどうなんでしょう? - 名無しさん 2016-03-05 19:20:12
    • 一応許可を得ておりかつリソースパックの製作者様の規約の範囲内でありますが、統一すべきであるという意見が挙げられましたので、近日中に編集できるように努力させて頂きます。 - 名無しさん 2016-04-16 15:15:12
  • RS NAND latchの所 #image(通常の…動作をする シュミレーション 画面…) じゃなくて、 ”シミュレーション” ですよ。  - ryx1024 2016-03-13 17:06:25
    • 編集した者です。訂正しました。 - 名無しさん 2016-04-16 15:18:05
  • ドロッパーの使い方でピストンドアの作り方を教えてください。(有料) - マイクラ部 2016-05-21 19:11:26
  • 質問掲示板をお使いください。 - 名無しさん 2016-05-21 20:22:41
  • リピーターロックを使ったT-Flip-Flopのところ、石ボタンと限定して表記した方が良いのでは?木ボタンでは正常に動作しませんでした。(Ver1.10) - マテ茶 2016-07-10 00:26:18
名前:

|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|
Wikiのガイドライン
必ずお読みください!

基本事項



プラットフォーム


アイテムデータ



生物



ゲームデータ



ワールド



Tips



ADVANCE



マルチプレイ



リンク




Wiki運営



その他



カウンタ


合計
-

トップページ
今日 : -
昨日 : -

更新履歴


取得中です。
※「ログ」「アーカイブ」「コメント」のページはここの履歴に表示されませんので、「更新履歴」および「コメント」から参照してください

人気ページ