てな事にトライしてみましたよ。
使用したのはPIC16F628A。
USARTというシリアル通信ポートを標準で装備しているものですね。
設計した機能は、2秒間の間にボタンを押した回数をカウントし、
カウント数をPCに送った後、2秒間7セグLEDにも表示させる、ってものです。
例のごとく、ちょいちょいと回路をブレットボードに組んでみます。
美しさは二の次ですYO。
汚いですね。
左がPICマイコン、
右が7セグLED表示回路と通信用のトランシーバーIC。
シリアル通信用トランシーバIC「ADM3202」
これを経由してPICマイコンとPCの通信を行う訳ナ理屈です。
PICの動作電圧は約5V、
しかしPCのシリアルポートは12Vなので、電圧変換の為に使います。
7セグLED表示回路。
カウンタICと7セグLEDドライバICで構成してますね。
ボタンが押された回数をココに表示します。
PICマイコン部
ボタンを押すと、押した数がカウントされるようにプログラムしてます。
その他、余計なものも付いていますが、あしからず。
PC側の通信ソフト
色々なHPを参考に自前で作りますた。
参考文献は、
技術評論社「Visual Basic初級プログラミング入門 上」
受信とあるテキストボックスにPICから発信されたデータを表示します。
ではぢゅわ、動作確認でいっす。
電源ONして、PCソフト立ち上げ、PICに設置しているボタンを連打!
カウンタが増えてます。
4回押したみたいです。
実際押したのは1回なのですが・・・
PC側は、
下側のテキストに、カウンタと同じ数値が送られますた。
うまくいきましたよ。
これを使えば簡易的な自動測定器が作れそうですね。
夢が広がりますよ(笑)
ボタンの押した回数と、カウンタの数が合わないのは、
チャタリングという現象が起きているためだそうです。
ボタンは1回しか押していないのですが、接点が細かくバウンドしたりして、
非常に短い時間にON-OFFを繰り返してしまうそうです。
コレをなくす為にまた一工夫必要ですが、今回はココまでということで。
0 件のコメント:
コメントを投稿