2023・03・18(土曜日) 雨
keyを押すごとに出力される2進コードのHIGI、LOW出力を
GPIO端子から読み取って記録エリアに保存するプログラムを組んで
みました。
さぁ、プログラムは思い通りに動作してくれるでしょうか?
マイコン(ESP-32WROVER)にテンキー装置を接続してテスト
します。 何だかわくわくし
ます。
キーを押しました。
キーは1回だけ「ポン」と押しましたので1文字分だけ読み込まれてるはずです。
その結果はARDUINOーIDEのモニターで確認しました。
ところがモニターには何行ものプリントが出力されてキーからのデーターがいくつも
表示されてしまいます。
何度もプログラムを点検しましたが、strob信号がHIGH→LOWに変化し
たときに、key出力を1回取り込むだけの動作になっています。
そしてその複数出力されるデータの数はいろいろ変化しますので、論理的ではあり
ません。
多分、keyを押したときにチャッタリングが発生してそれが原因でしょう。
オシロスコープを接続して波形を観察してみました。
(オイらはこういう波形を見るのが好きなんです・・・・・)
これは「1」キーを押したときの様子です。
いずれのキーを押してもHIGHからLOWに変化するstrobe信号も
「1」キー押下で発生したdataAもチャッタリングが発生しています。
「2」キーを押したときもdataBにチャッタリングがあります。
スイッチ回路にはチャッタリングは付き物ですが、この実験回路には
チャッタリングの対応はしていません。
こんな横着をしていて、うまく行くはずがありません。(反省・・・)
さぁ、どうしようかな? 安直なパスコンでやるかぁ。
うまくいくかわからないけどやってみます。
(続く)
※コメント投稿者のブログIDはブログ作成者のみに通知されます