2018年07月17日一覧

1ピンで複数スイッチに対応する

アナログ入力ピンを使用すると、複数のスイッチの入力をチェックすることが出来ます。といっても同時押しに対応出来るわけでないです。
押下時にはいずれかのスイッチのみという条件を用いて、使用するピン数を削減します。

方法

原理は簡単で、押下したスイッチに応じて抵抗分圧される仕組みを用います。このときの電圧値を読み取ることでどのスイッチなのかを知ることが出来るようになります。

このときの抵抗の計算がポイントになってくるのですが、それをうまく解説したサイトを見つけました。

単に同じ抵抗をぶら下げていってはダメなことがここにしっかりと書いてあります。

計算した抵抗値

上記のサイトの計算により、3スイッチでやってみました。使用したのは R1 = 10K, R2 = 2.2K, R3 = 4.7K, でやってみました。
これだと、 SW1 = 0V, SW2 = 0.18V, SW3 = 0.40V と割といい感じの比率でスイッチ入力の電圧として振り分けることができました。

これらの抵抗になった理由は、部品箱にあった抵抗類で済ませたい&合成もしたくなかった、という点によります。
あと2つくらいスイッチを増やせるかなと思って計算だけはしたところ、 R4 = 8K, R5 = 22K となりました。 E24系列で考えると 8K は無いため、 8.2K を使用することになるかなと思います。

最後に

ピンを減らして複数のスイッチを読み取る場合に、アナログ入力が使えるということを確認しました。1つ注意点があるとすれば、ものによってはアナログの読み取りには、デジタルと比べ時間がかかるということです。