きままにものづくり

日々の気付いたことなんかを書いてます。

【電子工作】 16F84AとSC1602BSでキーボードを作る!!

こんにちは、even_ekoです。
久しぶりのブログ更新となります。
更新しようと思ってもなかなか、書く時間を確保できないんですよね。意識的に書く時間を作らないと更新頻度を保つのは大変です。

さて、今日はブログでは初めて取り上げる電子工作です。電子工作は以前からやっていたのですが、ここ半年は全然やらなくなってしまってます。久しぶりに何か作ろうと思い立ったので、16F84AとLCDを使ってキーボードを作ってみました。
といっても、実は前に作ったものの作り直しなので回路図とプログラムは以前のを使用しました。


完成した画像です。
f:id:even_eko:20120930100334j:plain
f:id:even_eko:20120930100712j:plain
f:id:even_eko:20120930100402j:plain

スマホで写真を撮ったので、ブレがひどいですね。

因みに、PICに書き込むツールはPICKit2を使用しています。
f:id:even_eko:20120923120055j:plain
f:id:even_eko:20120923120508j:plain


前回作った時との変更点は、キーボードとPICの接続にフラットケーブルを使用した点です。
そして、ここに落とし穴がありました。

実装が終わった後、緊張の面持ちでスイッチを入れると...
まだ、何もボタンを押してないのに文字が出力されました。
キーボードとの接続を切ると正常に動作するので、PIC側には問題はないようです。
とすると、キーボード側に問題があるはずだ、と思いはじめはテスタを使って調べました。
接続に異常がなかったので、今度は実装前に作っておいたブレッドボードで動作を確認しました。
すると、
f:id:even_eko:20120923175656j:plain
なんと、問題なく動作しました。ただ、チャタリングでpが連打されてます。
因みにチャタリング対策を以前放置していたのを、この瞬間に思い出しました。

ブレッドボードとの接続は、前から実装してあるコネクタを使用しました。
なので、問題があるとしたらフラットケーブルになります。
この時は、フラットケーブルの長さは50cmくらいありました。抵抗値を測ってみると60Ω近くありました。
ただ、前に無茶な使い方をしたテスタなので値の信憑性は低いと思います。
もしかしたら、フラットケーブルの抵抗値が動作に影響を与えているのではと思い、フラットケーブルを短くしてみました。
すると、正常に動作するようになりました。