08/02/18 01:45:17 UhLs1Wnz
>>306
すまん、抵抗を使うってのはうまくいかんような気がしてきた。
ダイオードを使う場合。スイッチ1個につきダイオード1個を直列に入れ、その
「スイッチ+ダイオード」を、LEDのセグメント(どれでもよい)と並列になるように
接続。ダイオードの向きが、LEDの向きと逆になるようにする(「逆並列」とも呼ばれる)。
たとえばポートAとポートBの間にあるセグメントと並列にスイッチを入れる場合、
こんなふうになる。
┌─|<|─SW─┐
A ┤ ├ B
└─|>|─(LED)─┘
このLEDを点灯したい場合、AをHに、BをLにする。(これはおkだよね?)
SWの状態を知りたい場合、AをLに、Bを入力に、Bのプルアップ抵抗を有効にする。
そうすると、SWが押されていない場合、Bはオープン相当になりプルアップによって
Bを読み取るとH(1)が読み取られる。SWが押されている場合、Bはダイオード経由で
Aに接続される形になるので、L(0)が読み取られる。
実は、この回路だとSWが押されているときのBの入力電圧がちと怪しく、確実にLになる
0.8Vまで下がらない可能性もないではない。が、まぁ趣味の範囲ならおkだろう。