時間がどんどん溶ける工場自動化ゲーム「shapez」で、何でも自動で作れる工場を作る方法まとめ

304
前へ 1 ・・ 7 8
Reffi @tomo1109_Reffi

加算器。画像は2桁目の全加算器の部分を拡大したもの。入力は左から、出力は右へ、桁上がり入力は下から、桁上がり出力は上へ。 pic.twitter.com/Ro5eUsVURZ

2023-04-09 13:35:43
拡大
Reffi @tomo1109_Reffi

入力は必ず9(1001)以下となる。(BCDは10進数の1桁分を2bit4桁で表現するという定義なので、10以上が入ってくることはない)。で、それに3(0011)を足すだけの処理なので、この回路における最大値は12(1100)となる。 pic.twitter.com/Yb46o6WNlz

2023-04-09 13:46:24
拡大
Reffi @tomo1109_Reffi

つまり、加算器をフルスペックで実装しなくても良い。省略できる部分は省略する。 4桁目:加算器不要(入力or桁上がり入力をただ流すだけで良いので) 3桁目:半加算器で良い(桁上がり入力だけなので) 2桁目:全加算器が必要 1桁目:半加算器で良い(桁上がり入力がないので)

2023-04-09 13:55:40
Reffi @tomo1109_Reffi

比較器(n>5)の判定結果によって、加算器の右にあるトランジスタのゲートが開閉する。5以上のときはゲートが開き、加算器の計算結果が採用される。4以下のときは加算器の計算結果を採用しないのでゲートを閉じ、代わりに迂回路のゲートを開いて入力をそのまま出力に流す。 pic.twitter.com/IjHZYzHrWA

2023-04-09 14:00:39
拡大
Reffi @tomo1109_Reffi

比較器と加算器は並行して動いている。(加算器は比較器の判定結果を待たずに処理を行う。)なので、場合によっては加算器の計算結果を捨てることになるが、そのほうが最終的な処理結果を早く得ることができる。投機実行というと大げさな気がするけど。 pic.twitter.com/1H0YPN6Re5

2023-04-09 14:08:16
拡大

※実際に使用する際は、2進数の数値を出力する何らかの回路(例えばタイマーとか)
 →BCDエンコーダ→7セグメントデコーダ→7セグメント表示器
 の順に接続してセットで使用する。
 数字を表示するだけなのに大変にめんどくさい。
 世の中の電子機器は大抵、こういうめんどくさい手順で数字を表示している。


Reffi @tomo1109_Reffi

ベルトコンベア上を流れた図形の個数をカウントする仕組み、一応完成。16ビットカウンタで65535まで数えられるようにしてみた。 pic.twitter.com/zZe2Qzbl0x

2023-04-11 00:51:32
Reffi @tomo1109_Reffi

16bitバイナリの10進変換は冗談でやってみただけなんだけど、それを除いたとしても、ベルトコンベアだけででか過ぎて実用性に乏しい……

2023-04-11 00:54:13
Reffi @tomo1109_Reffi

分配機で1つのベルトコンベアを32ラインまで分配すると、ベルトリーダーが図形1つずつの反応を拾えるようになる。

2023-04-11 01:00:13
Reffi @tomo1109_Reffi

32個のベルトリーダーの分岐地点からの距離を完全に同じに揃えて、通過の瞬間1フレームでパルスを取り出してやればパルス同士が被ることはない。流速が30個/秒を超えるまではこれで検出できる筈。

2023-04-11 01:02:32
Reffi @tomo1109_Reffi

この仕組み自体には実用性はないんだけど、「ベルトコンベアの距離を同じに揃える」というテクニックは色々な場面で必要になってくる。納品システムなんかもそう。電子回路の信号同期と考え方は同じ。

2023-04-11 01:14:36
前へ 1 ・・ 7 8