カテゴリ:Arduino
Aitendoからかなり前に購入した10Key(4*4)です。薄型でぺらぺらです。 これをArduinoで使えるようにしようかと。 とりあえず、ケーブルとキーマトリックスの接続を調べてみました。 通常ならArduinoから4個の出力ポートと4個の入力ポートをつかってキースキャンして使うのですが、そうすると入出力で8個もポートを使ってしまいます。 ArduinoのLCDシールドに6個程度スイッチがついているものが市販されていますが、それって、1個のアナログポートだけの接続で使用されています。 そのテクニックをつかってこいつも使って見れないかと、今回はトライしてみました。 回路はこんな感じ。 縦ののラインのプルアップ抵抗と横ラインのGNDにプルダウンした抵抗で分圧した電圧をArduinoのアナログ入力で受ける仕様。ダイオード(IN4148)で逆流防止をしています。 16個のキーが識別できるようにエクセルで抵抗値を計算します。 その結果、こうなりました。抵抗値の単位はKΩ。これでVcc5Vほぼ全域が使えます。 完成。手持ち抵抗器は適当な値が無いので2~3個組み合わせで使用しています。 さっそくArduinoのアナログ入力値に応じて10keyの値のキャラクタを表示するスケッチを書いてみました。 そこそこいいですね。5V全域に振り分けられたので値がドリフトしても十分識別できる余裕があります。 これで、LEDクロックの時刻設定とかできるようになりそうです。 お気に入りの記事を「いいね!」で応援しよう
|