プロが教えるわが家の防犯対策術!

const int BUTTON=13;
int val=0;
int old_val=0;
int state=0;

void setup(){
 for(int i=1;i<8i++){
pinMode(i,OUTPUT);
}
pinMode(BUTTON,INPUT);
}
boolean Num_Arrayt[10][7]={
0{1,1,1,1,1,1,0}
1{0,1,1,0,0,0,0}
2{1,1,0,1,1,0,1}
3{1,1,1,1,0,0,1}
4{0,1,1,0,0,1,1}
5{1,0,1,1,0,1,1}
6{1,0,1,1,1,1,1}
7{1,1,1,0,0,1,0}
8{1,1,1,1,1,1,1}
9{1,1,1,1,0,1,1}
}

void NumPrint(int Number){
for(int W=0;W <7;W++){
digitalWrite(W+1,Num_Array[Number][W]);
}
}
void loop(){
 val=digitalRead(BUTTON);
NumPrint(state);

if((val==HIGH)&&(old_val==LOW)) {

state=(state+1)%10;
NumPrint(state);
delay(300);
}
delay(100);
old_val=val;
}

A 回答 (1件)

ボタンがLOWからHIGHに変化した時点で7セグメントカウンタ表示の数字をカウントアップするというプログラムのつもりですね。



何がやりたいのかは薄々わかりますが、
 ちゃんと動く、エラーの出ないソースリスト
を書いてから質問してください。
    • good
    • 0
この回答へのお礼

すみません。やりたいことは、1桁の7セグメントLEDダイオード表示で下記動作のプログラムを作成したいのです。作製前にスケッチとフローチャートの発表があり、機械系でやったことないのですが、どこを調べても良いから、、、との上から指示なのです。プログラム間違い多いと思います。修正指示もいただけますか。

動作
①ボタンスイッチ 押すと 1を表示
②2回目ボタンスイッチ 押すと 未表示
③3回目 〃 2を表示
④4回目 〃 未表示
⑤5回目 〃 3を表示



⑰17回目 〃 9を表示
⑱18回目 〃 未表示
⑲19回目 〃 元に戻って 1を表示

お礼日時:2017/08/03 21:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!