4318756 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

ラジオ、ときどきラーメン2

ラジオ、ときどきラーメン2

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

カレンダー

サイド自由欄




2014.05.27
XML
カテゴリ:Arduino
DSC_0027R.jpg
Aitendoからかなり前に購入した10Key(4*4)です。薄型でぺらぺらです。
これをArduinoで使えるようにしようかと。

DSC_0032R.jpg
とりあえず、ケーブルとキーマトリックスの接続を調べてみました。
通常ならArduinoから4個の出力ポートと4個の入力ポートをつかってキースキャンして使うのですが、そうすると入出力で8個もポートを使ってしまいます。
ArduinoのLCDシールドに6個程度スイッチがついているものが市販されていますが、それって、1個のアナログポートだけの接続で使用されています。
そのテクニックをつかってこいつも使って見れないかと、今回はトライしてみました。

DSC_0030R.jpg
回路はこんな感じ。
縦ののラインのプルアップ抵抗と横ラインのGNDにプルダウンした抵抗で分圧した電圧をArduinoのアナログ入力で受ける仕様。ダイオード(IN4148)で逆流防止をしています。
16個のキーが識別できるようにエクセルで抵抗値を計算します。

DSC_0012R.jpg
その結果、こうなりました。抵抗値の単位はKΩ。これでVcc5Vほぼ全域が使えます。

DSC_0039R.jpg
完成。手持ち抵抗器は適当な値が無いので2~3個組み合わせで使用しています。

DSC_0076R.jpg
DSC_0065R.jpg
さっそくArduinoのアナログ入力値に応じて10keyの値のキャラクタを表示するスケッチを書いてみました。
そこそこいいですね。5V全域に振り分けられたので値がドリフトしても十分識別できる余裕があります。

これで、LEDクロックの時刻設定とかできるようになりそうです。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2014.05.27 23:40:53
コメント(2) | コメントを書く
[Arduino] カテゴリの最新記事



© Rakuten Group, Inc.