デジタル回路の中で,0,1の2進数をどのように実現しているかを説明します。
デジタル回路中の信号では,電源電圧(ここでは5Vとします)を2進数の1に,グランド電圧0Vを0に対応させます(低電力型の回路で3Vを1とするものもある)。
0Vと5Vの2種類しかありませんので,回路はたいへん単純になります。
また,4.5Vなど中途半端な電圧でも5Vに近ければ1と,0.5Vなど0Vに近いものは0とみなします。
すなわち,雑音などで電圧に多少変動があったとしてもデータは失われません。デジタルは雑音にも強いのです。
▼デジタル回路の例
図1にスイッチ1個の最も簡単なデジタル入力回路と発光ダイオード,モータ各1個のデジタル出力回路を示します。
スイッチが開いているとき,点Aは抵抗を介して5Vにつながっていますので,入力は5Vすなわち“1”となります。
また,スイッチを閉じると,点Aは0Vにつながるため,入力は“0”となります。
これをコンピュータなどの入力信号として用いれば,スイッチの入切の状態変化により,出力につながれた,発光ダイオードを点滅させたり,モータを回転させたりすることができます(なお,これらの動作はプログラムで行います)。
図1 スイッチ,発光ダイオード,モータによるデジタル入力・出力回路(スイッチの入切による0V(0),5V(1)信号の生成と入力に応じた発光ダイオード,モータの制御)
図1では出力1,出力2を5V(1)にするとモータが回転し,発光ダイオードが点灯,0Vにするとモータが停止し,発光ダイオードが消灯します。
この入出力部分を働かせるためのプログラムを書くと以下のようになります。
1. 入力状態(0/1)をチェックして記憶する
2. 入力=0であれば(スイッチが入であれば),
出力1=1,出力2=1にする(モータと発光ダイオードを入にする)
1. 入力=1であれば(スイッチが切であれば),
出力1=0,出力2=0にする(発光ダイオードとモータを切にする)
2. 1から3を繰り返す
==================================================================
※永田照三 戎俊男 太田信二郎 江藤昭弘 水野隆 石野健英 藤間信久 東直人 井上修次『作って学ぶ ロボット入門講座』より