ゴミ化した部品を消化する企画?第2弾です。

デジットに行ったときに、ダンボールに山盛りで小さな紙切れとともに100円で投げ売りされてたキーパッド。何かに使えるかと購入してた。使うには沢山の信号線が必要である割には駆動するタイミングがシビアでないキーパッドは、I2C化した方が使い勝手が良くなる。そこでI2Cデバイスにしてみた。

購入したキーパッド

購入したキーパッド

紙切れからすると、ヘッダピンを立てればキーの信号を取り出せる。

I2C化する為の予備知識

ATtiny2313とI2Cのキーワードで当サイトを訪れる方が多いので整理しておく。

秋月通商で100円で売ってるATtiny2313を用いてI2Cデバイス化します。ATtiny2313自体はTWI(I2C)の機能はないのでUSIを用いてソフトで実装する必要がある。I2C通信を実現するためにはマスタ・スレーブのデバイスが同期を取った通信が必要になる。ロジアナがあれば信号を見ながらプログラムを作成できるが、無いとなると難しい。

この難題をchuckさんが、Donald R. BlakeさんのusiTwiSlaveライブラリィを使って上手く解決して下さってる。
当方も、chuckさんのノウハウによって実装してます。
詳しくはchuckさんの”ページ“を参照のこと。

I2Cキーパッドの設計方針

試行錯誤して作成した回路はコレ。
小さな紙切れよりコモンHの信号を外部割り込みとして処理できそうなので回路を組んでみたのだが、割り込みが入らない。仕方ないので、chuckさん作ったI2Cロータリエンコーダの実装方法を参照しタイマ割り込みでキーセンスすることにした。

I2Cキーパッドの回路

I2Cキーパッドの回路

ボード図

I2Cキーパッドのボード図

I2Cキーパッドのボード図

版下作成&トナー転写

いつものコンビニ印刷ショップにて版下を作成。生基板を切り出してトナーをアイロンで転写した。
もう一枚作ったI2Cブリッジの基板とともに…パチリ

トナー転写した基板

トナー転写した基板

実装

エッチング・穴あけ、そして実装したのがコレ。

I2Cキーパッド(表)

I2Cキーパッド(表)

裏に86とスタンプがある86年製の電話機のキーパッドのようだ。

I2Cキーパッド(裏)

I2Cキーパッド(裏)

ファーム

ファームは半完成。押されたキーの数値を取得できるがアルファベットの取得は未実装。
半完成ながら、I2Cキーバッドは意外と使い勝手がよい。

キーパッドの固定

適当なスペーサが手持ちにないためキーポッドと基板との固定ができない。

キーパッドが未固定

キーパッドが未固定

関連ファイル一式の公開(2011/1/5)

I2C KEYPADの関連ファイル一式を公開します。
Eagleファイル一式、ファームウェア一式を含みます。ハードウェアは単純ですから、プリント基板には二の足を踏む方でも、ユニバーサル基板で実装できると思います。活用してください。

I2CKEYPAD V1.0"I2CKEYPAD V1.0"をダウンロード