NEC ELECTRONICS NEC ELECTRONICS
NEC electronics NEC electronics NEC
ホーム
アプリケーション
製品情報
先端技術
サポート
WEBショップ
ニュース&イベント
会社案内
header
GO
詳細検索機能/特性検索
サイトマップ お問い合わせ

マイコンでのキー・スイッチ入力(その2)

目次

    
FAQ-ID = key-nnnn
0001: マイコンでのキー・スイッチ入力(その2)
0002: マイコンでのキー・スイッチ入力(その3)
key
-0001
マイコンでのキー・スイッチ入力(その2)
一般にマイコンでキー入力を行なうときにはポートを使用します。しかし、使えるポートの数が少ない場合には、キー入力のためだけにポートを何本も使うことはできません。
そこで、考えられるのがアナログ入力を用いたキー入力です。下図にアナログ入力を用いて4個のキー入力を行なう例を示します。



[考え方]
SW1〜SW4のどのスイッチが押されるかで、抵抗分割されてアナログ入力端子(ANIn)に加わる電圧が異なります。その電圧をA/D変換することでどのキーが押されたかを判定できます。

[抵抗値の設定]
それでは使用する抵抗値はどのようにすればよいのでしょうか。このときに第1に決める必要があるのが、「どのような電圧を基準として入力を判定するか」です。例えば、簡単のために、0〜0.8VDDを、0.2VDD刻みに分割する場合を考えます。このとき、入力電圧と押されたスイッチの関係は以下のようになります。

0.8VDD以上 どれも押されていない
0.6VDD〜0.8VDD SW4が押された
0.4VDD〜0.6VDD SW3が押された
0.2VDD〜0.4VDD SW2が押された
0    〜0.2VDD SW1が押された

そこで、この判定値のできるだけ中央になるように0.1VDDのマージンをもたせて、抵抗値を決めていきます。その際にR1を基準(=100)にして考えます。



まず、SW2が押されたときに0.3VDDになるようにR2を決めるとR2=R1*3/7となるので、抵抗のE24系列で近い値は43となります。次にSW3が押されたときに0.5VDDに近くなるR3を決めると、E24系列では56が近い値となります。同様にして求めていくと、R4は0.7VDDから130、R5は0.9VDDから620となります。

 R1を元に求める
R1100
R243
R356
R4130
R5620

コーヒーブレイク

抵抗の値は通常は切りの良い値ではなく、中途半端と思われる値になっています。これは、1〜10までを等比級数的に分割した値となっているためです。分割の仕方として一般的なのは12分割したものがE12系列、24分割したものがE24系列と呼ばれています。E24系列では1.0、1.1、1.2、1.3、1.5、1.6、1.8、2.0、2.2、2.4、2.7、3.0、3.3、3.6、3.9、4.3、4.7、5.1、5.6、6.2、6.8、7.5、8.2、9.1の並びとなります。これらの中、太字で示したものはE12系列にも存在する抵抗値の並びです。

抵抗の比率は以上で決まります。次は絶対値を決定します。その際には、A/Dの変換精度をよくするには、できるだけ小さな値にする必要があります。また、流れる電流をできるだけ少なくするには大きな値にする必要があります。このような使い方では、A/Dの変換精度はそれほど必要ありませんので、電流を優先して値をきめることになります。
R1を元に求めた結果にそのままkΩを付けた場合には合計で約1MΩ、となり、待機時(スイッチが押されていない状態)に流れる電流は5V動作でも5μA程度となります。

以上の例では間隔をできるだけ広くとるために、20%刻みに設定しましたが、待機時の電流をできるだけ小さくするにはR5をできるだけ大きくする(押されていないときの電圧を高くする)ことになります。例えば、以下のように設定することを考えます。

どれも押されていない 0.95VDD
SW4が押されたとき 0.3VDD
SW3が押されたとき 0.2VDD
SW2が押されたとき 0.1VDD
SW1が押されたとき 

ここで、R1を100kΩとした場合には、R2は11kΩ、R3は15kΩ、R4は16kΩ、R5は1.8MΩとなります。合計では約2MΩとなり、待機電流を約半分に改善できます。
このハードの制御プログラムについては「A/Dの簡単な使い方」を参照ください。
これまで説明した回路はキーの優先度が決まっており、二重押しがあった場合でも必ず優先キーとして処理できるものです。(優先度はSW1>SW2>SW3>SW4となります。)
二重押しがないような場合には以下の図に示すような回路も考えられます。この回路では、スイッチが同時には1つしか押されない場合には抵抗の値は独立に設定できるので計算は楽です。また、スイッチが全く押されていない場合には電流が流れないので、その点でのメリットもあります。


(2006/03)

この情報はお役にたちましたか?
back to top  
(2006/03)

key
-0002
マイコンでのキー・スイッチ入力(その3)
Q1
ホームページのマイコンのFAQでのキー・スイッチ入力(その2)ではシリーズ抵抗の各段からグランドとの間にスイッチが入っています。複数キー・スイッチを同時に押すことは考慮しなくてもいいとした場合、このスイッチをシリーズ抵抗の各段からA/Dの入力に接続した方が抵抗値の計算が簡単ではないでしょうか。(下図参照)

A1
スイッチは通常は人間が操作することから、人間の体を介してのノイズの影響が考えられます。この回路の場合には、計算(設計)は楽になりますが、スイッチ部分からのノイズが載り、ノイズの影響が大きくなると考えられます。FAQに掲載している回路ではスイッチの片側をグランドに接続することで、ノイズの影響をできるだけなくしています。
二重押し(複数のキー・スイッチを同時に押すこと)がないような場合にはアナログ入力を用いたキー入力2を検討してください。

(2007/12)

この情報はお役にたちましたか?
back to top  
(2007/12)









































 ご利用にあたって  個人情報保護について  RSS       © 1995-2008  NEC Electronics Corporation