ほぼ目的のプログラム(スケッチ--arduinoではこう呼ぶみたいですね。)ができました。難しいものではな
く、入門編によくあるようなLチカ(LEDを点灯させる)のプログラムと大差ありません。ただ、キーの読み取
りをアナログの変化で読み取っているので、安定しない部分があるのか、長押しの判別がどうしても、できま
せんでした。
押されたキーの判別
│
┌───────────────────────┐
UPキーが押された⇒⇒ +1の処理 UPキーが長押しされた⇒⇒+10の処理
のようにしたかったのですが、あきらめて、+10の処理は、RIGHTキーに割り当てました。 スケッチでは、
キー判別の関数の呼び出し
↓
呼び出されたそれぞれキーの回数をカウントする
↓
カウントが一定以上になったら、キーに応じた処理をする。
という単純なことを、メインのLOOPのなかで、繰り返してるだけです。「回数をカウント」の部分はなくても
いいのですが、一応チャタリングの対策です。
入力した数字をLCDに表示するのに数字の桁数が違ってしまうと、正しい表示がされないので、左詰めで表示
できるように簡単な関数を作りました。文字数を取得する関数が準備されてますが、その書式がどちらかとい
うとエクセルのVBAのような感じで、ちょっと戸惑いました。PICのC言語だと目的の文字を括弧の中にいれる
のですが、ピリオドで連結するようでした。このへんの細かい文法は、その都度調べないとだめですね。
arduinoの記述 s.length( ) (sが長さを求める文字)
PICのC言語記述 sterlen(s) (sが長さを求める文字)
とりあえず表示ができたLCDです。
PILSEの数字がUPキーで+1,DOWNキーで-1,RIGHTキーで+10、LEFTキーで-10になるようにしました。
PILSEの数字がUPキーで+10,DOWNキーで-10,RIGHTキーで+100、LEFTキーで-100になるようにしました。
おはようございます。
プログラムも色々とあって、理解するには大変だと思います。
大したものですね。
書き込みありがとうございます。細かいところは違いますが、プログラム作るのは、PICに比べると遙かに楽です。
ただ、反面、割り込み等の細かい設定がいまいちのような気がします。ぼけ防止にはいいかなと思ってやってます。
LCDがあるだけ、デバックが楽かなと思いましたが、やはり最後の頼みは、LEDを回路にいれて、点滅で判定が、確実でした。