ResKeypadライブラリResKeypadライブラリこのページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。1ページ1.はじめにマイコンで組み込み機器を作っている時に、キーパッドを付けて、数値の入力などをしたい事があります。キーパッドの読み取りは、キーマトリックス方式を用いることが一般的です。4X4のキーパッドを読み取るなら、図1に示すように、行方向に4本、列方向に4本のGPIO線を割当て、それらの交点にスイッチ(場合によってはダイオードも)を配置するのが一般的です。図1の回路は、16個のGPIOピンを使う単純な回路よりはましではありますが、それでも8本ものGPIOピンを使ってしまいます。マイコンは、ピン数が増えると、価格が急激に上がる物が多いので、できればもう少しピン数を減らせる方法があれば便利です。一方で、安価な家電製品に搭載されるマイコンでは、キーパッドの読み取りに、押すスイッチによって出力電圧が変わる抵抗分圧回路の出力を、A/D変換入力に接続して読み取る回路(図2参照)がよく使われます。この回路では、たったひとつのI/Oピンで、複数のスイッチの状態を監視できますが、(1)同時に複数のスイッチを押すと、その内のひとつしか読み取れない、(2)抵抗値の誤差やA/D変換の誤差を考えるとあまり多くのスイッチを接続できず、多くても5つくらいのスイッチで使われる事が多い、という欠点があります。抵抗分圧方式の出力電圧の発生要因を詳しく考察したところ、抵抗値をよく吟味することにより、5%の精度の抵抗でも最大20個程度のスイッチを読み取れる事が分かりました。この話は、理論的な考察をついてはI/Oピン一つで読み取れるキーパッドの製作という記事で紹介しました。このページで紹介するResKeypadライブラリは、抵抗分圧方式のキーパッドのスイッチの状態の取得をするための、Arduino用のライブラリです。A/D変換値から押されたスイッチへの変換や、チャタリング処理などは、ライブラリ内部で行いますので、ResKeypadライブラリを使えば、理論的な背景を十分理解していなくても、手軽に抵抗分圧方式のキーパッドを使う事ができます。2.対応するArduinoの種類ResKeypadライブラリは、多くの8ビットのArduinoおよび一部の32ビットArduinoで動作します。実際に動作確認が取れたArduinoは、次の通りです。(Xは任意の数字)で動作します。4.ユーザーマニュアルResKeypadライブラリの使い方を詳しく説明したユーザーマニュアルをご覧になるには、次のリンクをクリックしてください。(工事中)ユーザーマニュアルはまだできていませんが、このページをみるとResKeypadライブラリの使い方がおおむね分かります。5.リファレンスマニュアルResKeypadライブラリの関数や定数の一覧表が載ったリファレンスマニュアルをご覧になるには、次のリンクをクリックしてください。(工事中)6.ダウンロードResKeypadライブラリをダウンロードするには、以下のリンクをクリックしてください。1.0.4以前をお使いの場合の2つのケースに分けて説明します。IDEにインストールしていただけます。1.7.6の場合)を選んでください。IDEのバージョンにより一定していませんのでご注意ください。下のスクリーンショットを参考にメニューを選んでください。(XXXの部分はバージョンによって異なる)を選択して、開くボタンをクリックしてください。ライブラリがインストールされます。1.7.6の場合)に、ResKeyPadが追加されている事を確認してください。IDEのバージョンにより一定しませんので、下のスクリーンショットを参考にしてください。1.0.4以前をお使いの場合は、ダウンロードしたResKeypadライブラリのZIPファイルを、一旦解凍してからインストールする必要があります。私がWindows環境で開発しているので、それを前提に説明します。何らかのソフトを使って、ZIPファイルを解凍してください。(Windows標準の圧縮フォルダ機能を使ってもよい)そうすると、ResKeypadというフォルダができるはずです。Arduinoのライブラリのインストール先は、スケッチブックの保存場所(標準では"マイドキュメント\Arduino")の下のlibrariesフォルダとなります。スケッチブックの保存場所が分からない場合は、ファイル→環境設定メニューを選ぶと確認できます。図10、ファイル→環境設定メニューを選ぶ図11、スケッチブックの保存場所の確認エクスプローラでスケッチブックの保存場所を開き、librariesフォルダがある事を確認してください。図12、librariesフォルダの確認まだ1度も外部ライブラリをインストールした事のない人は、librariesフォルダが見つからないかも知れません。その場合はlibrariesフォルダを新たに作ってください。最後に、librariesフォルダの中に、ResKeypadフォルダをコピーまたは移動してください。Libraries"によると、Mac環境の場合は"Documents/Arduino/libraries"フォルダ(日本語環境なら"書類/Arduino/libraries"フォルダか?)の中にReskeypadフォルダを移動あるいはコピーすればいいようです。ResKeypadライブラリこのページで使われている用語の解説ArduinoGPIOチャタリング関連ページI/Oピン一つで読み取れるキーパッドの製作アナログ入力ピン一つで読み取れる16キーのキーパッドの製作。抵抗分圧器を使った、多くのスイッチのセンシング(1)I/Oピン一つで読めるキーパッドの設計サービス仕様を入力すると、抵抗分圧型キーパッドの抵抗値等を計算。I/Oピン一つで読める4X4キーパッドキットサポートページ(1)I/Oピン一つで読める4X4キーパッド(完成品)サポートページI/Oピン一つで読める4X5キーパッドキットサポートページ(1)このサイトの記事が本になりました。電子工作ISBN:978-4-7775-1941-5→工学社の書籍の内容の紹介ページ本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。こちらのページもおすすめです。