
http://www.kayoo.info/jyouhou-kiki/sozai/1304/in …
上サイトの1304-2-Aに、
「キーはマトリックス(縦横の格子)状に配線されています。配線に順番に電圧をかけていき、どの線に電流が流れ出すかを検出すれば押されたキーがわかります。」
とありますが、この続きが知りたいです。
流れた電流は、CPUなどの状態をどのように変化させるのでしょうか。
No.4ベストアンサー
- 回答日時:
>その「判別する」ということが物理的にどういうことかがわからないんです。
コンピューターに意思があるわけではないでしょうし。これは、そういう「プログラムを組む」ということです。
(1) ラインAにだけ電圧がかかるようなデータを、出力ポートに出力する。
(2) 入力ポートのデータを読込む。
(3) 読込んだデータの各ビット(このビットは、ライン0~7にそれぞれ対応している)の値を順に調べる。
※ ビットを順にチェックする方法として、マスクパターンと論理和や論理積をとる方法や、データをシフトさせてあふれたビット(キャリー)を見る方法などがある。
※ どのように行うかはプログラマのお好みしだい。
(4) ビットに電圧が入っていたら(デジタルなのでHiになっていたら)、出力ポートのライン番号(この場合ラインAの番号)と入力データのビット番号から押されたキーの番号を計算する。
(5) キーの番号から表などを参照して押されたキーのキーコードを決定する。
(6) ラインB~Dに対しても同様の処理を行い、押されたキーのキーコードを取得する。
No.3
- 回答日時:
この回路をマイコンなどを使って自作してみるとよくわかります。
キーボードマトリックスは定番です。
なぜこのような方式にしているかというと、マイコンなどの入出力ポートの数には限りがあるからです。
もしマイコンの入力ポートが100個もあれば、ポート1つずつに100個の押しボタンスイッチを接続すれば100個のボタン押し下げ状態をいっぺんに調べることができますが、そんなマイコンは普通ありません。
そこで、ボタンスイッチを格子状に並べて、縦の列を主力ポートにつなぎ、横の列を入力ポートにつなぎます
もし、10本のポートを入力用に、10本のポートを出力用に設定すれば、合計20本の入出力ポートだけで、10×10=100個分のキー入力状態を調べることができます。
マイコンは、その時の状況に応じた判断能力があるのです。その判断の手順は「プログラム」という指令手順書を予め人間が作成して、マイコンに書き込んであります。(このプログラムの作成も、できれば、ご自分で経験なさるとよくわかるでしょう。)
マイコンを使った趣味はこちらを参考にしてみてください。
http://homepage3.nifty.com/mitt/pic/
No.2
- 回答日時:
>その「判別する」ということが物理的にどういうことかがわからないんです。
キーコードの何番が押されました。離されました。
ってのをインターフェースの仕様に従ってPC本体に通知します。
# この時点でマトリックス配線とか関係なくなりますけどね。
マトリックスの組み合わせからキーコードの何番とかに変換する作業はキーボードに搭載されているマイコンが行います。
>コンピューターに意思があるわけではないでしょうし。
意志はありませんが仕様はありますから…キーコードの何番はAのキーとする。
などの条件分岐を行った上で処理されます。
で、キーボードにもいくつかタイプがあるので、それがPC本体側の設定と合っていないと
「キーに印字されている文字と入力される文字が違う」ということになります。
# 記号入力しようとして…ってのがお約束ですかね。
No.1
- 回答日時:
説明動画では電流となっているが、実際は電圧を見ます。
横のラインA~Dは、マイコンのデジタル出力ポートにつながっている。
縦のライン0~7は、マイコンのデジタル入力ポートにつながっている。
ラインAに電圧をかけて、ライン0~7を入力。電圧が出ているラインのキーが押されていると判断できる。
ラインBに電圧をかけて、ライン0~7を入力。電圧が出ているラインのキーが押されていると判断できる。
・・・以下同様に、ラインC,ラインDで同じことを行い、押されているキーを判別します。
マトリクスキーパッドとは
http://miqn.net/periph/48.html
回答ありがとうございます。
>押されているキーを判別します。
その「判別する」ということが物理的にどういうことかがわからないんです。コンピューターに意思があるわけではないでしょうし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オーブントースターのマイコン...
-
電子工作で、簡単に往復運動を...
-
マイコンとシステムLSIの違い
-
マイクロコンピューターとマイ...
-
炊飯器のCPU
-
コンピュータの使用形態につい...
-
マイコンについて
-
GCC developer lite
-
バッファICの選定
-
PICマイコンの発熱
-
アブソモータのエンコーダリセ...
-
自作で7.1chサラウンドアン...
-
COMポート初期化NG ビットレー...
-
マイコンって何?
-
Arduino PWM階調を変えたい
-
電子秤のマイコン
-
電子工作を全くしたことが無い...
-
連技ソフト
-
こんばんは。 今高校生をして、...
-
Atmega AVRマイコンライタを自...
おすすめ情報