Cinema4Dメモ

Cinema4Dという3DCGソフトに関するメモ書きです。

ロジックICを使って2進数の足し算をするコンプーターを作りました。

2017-03-09 11:46:01 | ハードウェア

そういうわけで、前回XPressoで作った足し算回路を、ロジックICを使って作りました。4個のXORゲートICと4個のANDゲートICと2個のORゲートICです。入力は8ビットなので0から255の正の数の入力ができます。出力はLEDの点灯で表現しています。(最初はICが思うように動作せず途方に暮れましたが、プルダウン用の抵抗を付けないとうまく動かないんだということが分かってからはサクサク作れました。)

このままでは分かりにくいので10進数で入力して2進数に変換する部分(エンコーダー)と、ICで計算した結果の2進数を10進数に変換する部分(デコーダー)をArduinoで作ります。

デコーダー部分は既にできていて、計算結果を表示するLEDの点灯状況をアナログ入力してデジタル変換し、更に各桁の重みを掛け算して10進数に変換し、7セグメントLEDに表示します。

エンコーダー部分は今、作っている最中です。

左上の青いディップスイッチが入力部分です。小さい白い四角がスイッチで、上だと電気が流れて1,下だと0です。2つのスイッチともに10000001(129)なので、足した結果LEDは10000010(258)になっており、7セグLEDの表示も258になってます。('-')

Arduinoに電源が繋がっていませんが、ブレッドボードに繋がってる電池ボックスの電力で動作しているようです。なんか不思議。


XPressoで整数の加算器のエミュレーションを試みた

2017-03-09 08:16:52 | Cinema4D設定、操作

普段人間は十進数で計算とかしていますが、コンピューターは二進数で計算しています。

十進数 二進数

0   0000

1   0001

2   0010

3   0011

4   0100

5   0101

6   0110

7   0111

8   1000

9   1001

という感じです。

そういう訳で、ネットで調べた情報をもとに二進数の足し算をするXPressoを作りました。

FAってのが4個あって、その中身は↓のようになってます。

HAの中身は↓のようになってます。

XOR回路というのはExclusive OR の略で排他的論理和のことで

普通のOR回路が

0 0→0

0 1→1

1 0→1

1 1→1

となるところを、XOR回路では、

0 0→0

0 1→1

1 0→1

1 1→0

としてくれるので、繰り上がりの表現に必要なんです。2進数では01+01は10(1の位が繰り上がって0になり、10の位が1になる)なので。

ちなみにAND回路は

 0 0→0

 0 1→0

 1 0→0

 1 1→1

ですね☆1の位がどっちも1のときにCarry(繰り上がり)の為の1を出力します。

XPressoもなかなか役に立つネ!

ちなみに、XOR回路とかAND回路とかOR回路のノードはどうやって呼び出すのかというと、↓のようにします。ブール演算ノードです。

演算のタイプを切り替えて使用します。名前も分かりやすく変えましょう。

つづく