![]() |
車のうっかりミス防止 |
論理回路とは、コンピュータなどのデジタル信号を扱う機器において論理演算を行う電子回路です。
「電子的なスイッチ」 と考えればいいでしょう。
基本的なものには
AND 回路 (論理積回路)、
OR 回路 (論理和回路)、
NOT 回路 (否定回路) などがあります。
AND 回路や OR 回路には複数の入力があって、 AND 回路はそれらがすべて 1 のときだけ、
OR 回路は少なくとも一つが 1 になれば出力が 1 になります
(いい換えれば、 AND 回路はすべての条件が揃ったときに、 OR 回路は一つでも条件が整えば、 出力が 1 になります)
。
NOT 回路の入力はひとつで、 常に入力信号が 1 のときは 0 を、 0 のときは 1 を出力します。
ただ、 それだけのことです。
AND 回路、OR 回路、NOT 回路はいずれも、それぞれは単純でも、
これを組み合わせることによってさまざまの働きをさせることができます。
ここでは最も簡単な例として、 OR 回路と AND 回路を
組み合わせてみます。
以前は、自動車の中にキーを付けたままドアをロックしたり、
ライトを消し忘れて翌朝エンジンがかからない、などのトラブルがよくありました。
最近はなくなりましたが、それは私が、ではなく、自動車が賢くなったからです。
近頃の自動車は、エンジンを止めて、キーを付けたまま、あるいはライトを点けたまま
運転席のドアを開けると、
ブザーが鳴るようになっています。
このような機能は、自動車に搭載されているマイクロコンピュータのひとつにプログラムされていますが、
論理回路でも作ることもできます。
まず、キーの挿・抜、ライトの点灯・消灯などの状態を、下の表のように、論理値
0 と 1 に対応させます。
例えば、 エンジンは動いているときは 1 で止まれば 0 、
ドアは閉じているときは 0 で開けば 1 、
などです。
論理値 | キー | ライト | エンジン | ドア | ブザー |
---|---|---|---|---|---|
0 | 抜く | 消灯 | 停止 | 閉 | 静 |
1 | 挿入 | 点灯 | 回転 | 開 | 鳴 |
この場合は、キーかライトのどちらか、または両方が 1 のときに、
エンジンが 0 でドアが 1 であればブザーを鳴らせばいいことになります。
この条件で警報装置を作ると、論理回路は下図のようになります。
この図では今、 キーが挿入 (1) されてエンジンが回転 (1) していてドアが閉まっている (0)、
つまり走行中の状態です。
ここでエンジンを止めると 0 になりますから、NOT 回路の出力は 1 になります。
キーを抜き忘れているか、ライトが点いたままであれば 1 ですから、
OR 回路の出力は 1 になります。
この状態でドアを開けると、 AND 回路の入力信号はすべて 1 になりますから、
出力が 1 になってブザーが鳴ります。
上図の入力信号の付近をクリックすると信号が変化します。試してみて下さい。
(キーが挿入されていないと、エンジンがかからないようになっています。念のため。)
AND 回路、OR 回路、NOT 回路、それぞれの機能は単純でも、
このように論理回路を組み合わせることによって、 さまざまな機能を実現することができます。
*1 図には NOT 回路も含まれていますが、これはエンジンの状態を 0 と 1 に対応させたときに、
常識的に分かりやすいようにしたために必要になりました。
エンジンが止まれば 1 なら不要です。
*2 もちろん、そうでない車も、もっと賢い車もあります。
*3 0 と 1 の対応のさせ方は自由です。 逆にすれば 注 1. のように NOT 回路が必要になったり、
省略できたりするだけのことです。