プルアップ VS プルダウン

マイコンやロジックICの入力にスイッチを付ける際、プルアップしてGNDとの間にスイッチを付けるように設計することが私の場合は多い。上の図でいうと、SW1とR1の構成。しかし、電子工作関連のサイトや雑誌を見ているとプルダウンの構成のものもちょくちょく目にする(SW2とR2)。論理上はどちらでも動くわけなので、どちらでもいいはず。

では、どちらがより一般的なのだろうかと思って、Twitterアンケートしてみた。

126票の回答を頂き、2:1でプルアップ派のほうが多いという結果。プルアップ派のほうがもっと多いだろうと思っていたのだけど、プルダウン派も結構いらっしゃるようだ。

プルアップの場合のメリットを書いて下さった方もいらっしゃる。

配線の引回しに関しては二層プリント基板だとGNDはおそらく手近なところにあるので信号線だけ引っ張ってくれば良い。四層以上だと電源も多分近くにあるだろうからあまり変らない?ユニバーサル基板やブレッドボードならどちらでも関係ない?

もう一方のプルダウンのメリットってなんだろう?「押すと”1″」でイメージしやすい?個人的には、GNDとの間に抵抗が入っていると宙に浮いているようで気持ち悪い(あくまでイメージ)。

なお一番上の図は説明のためもの。ATtiny85ならプルアップ抵抗が内蔵されており、プルアップで使うなら外付け抵抗は必要ない(プルダウンで使うなら必要)。Arduino UNOなどのATmega328Pも同様。Rapsberry Piで使われているチップではプルアップ抵抗もプルダウン抵抗も内蔵されていて設定でどちらでも使えるそうだ。