数字の順次表示プログラム
以下は、数字(num) の値を 数字表示器で表示するプログラムです。表示後 num の値1増加し、10 以上になると 0 に戻します。
//1ケタ試験用
//7素子3桁表示 c-533SR
//0-999の値を数字3桁で表示する
//数字表示器の端子
//1:E, 2:D, 3:GND, 4:C, 5:DP,
//6:B 7:A, 8:VCC, 9:G, 10:G
//UNO端子、抵抗100~300オーム
//D2:a, D3:b, 48:c, D5:d, D6:e, D7:f,D8:g
//数字のパターン
byte segment[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7F,0x67};
byte data;
int num;
void setup(){
byte i;
for(i = 2; i <= 15; i++){
pinMode(i,OUTPUT);
}
num=0;
}//setup
void loop(){
int isg;
data = segment[num];//数字のパターンを読み出す
//各セグメントを対応する端子で点灯する
for(isg=0;isg<7;isg++){ //a-gのセグメント設定
//>>は右シフト、& はand演算 、isg番のbitを表示
digitalWrite(2+isg,bitRead(data,isg ));
}
num=num+1;
if(num>=10) num=0;//10以上になったら 0 に戻す
delay(500);
}//loop
変数numを用意し(int num;)、data = segment[1] ; の 1 を num とし、num の値0から1づつ増加すれば、0-9 が表示できます。ただし、10より大きくなったら 0 に戻します( if (num>10) num=0; )