//定義變數
int a=2; //seg_a接到D2
int b=3; //seg_b接到D3
int c=4; //seg_c接到D4
int d=5; //seg_d接到D5
int e=6; //seg_e接到D6
int f=7; //seg_f接到D7
int g=8; //seg_g接到D8
int dp=9; //seg_dp接到D9
int i=0;
//使用陣列指令將0-9編碼存在陣列內
byte seven_seg[10][7] = { { 1,1,1,1,1,1,0 }, // = 0
{ 0,1,1,0,0,0,0 }, // = 1
{ 1,1,0,1,1,0,1 }, // = 2
{ 1,1,1,1,0,0,1 }, // = 3
{ 0,1,1,0,0,1,1 }, // = 4
{ 1,0,1,1,0,1,1 }, // = 5
{ 1,0,1,1,1,1,1 }, // = 6
{ 1,1,1,0,0,0,0 }, // = 7
{ 1,1,1,1,1,1,1 }, // = 8
{ 1,1,1,1,0,1,1 } // = 9
};
void setup() { //
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dp, OUTPUT);
//digitalWrite(dp, 0); // 關閉小數點
}
void loop() {
for (i= 0; i <10; ++i) {
CodeWrite(i);
}
// 暫停 2 秒鐘
delay(2000);
}
void CodeWrite(byte i) {
digitalWrite(a,seven_seg[i][0]);
digitalWrite(b,seven_seg[i][1]);
digitalWrite(c,seven_seg[i][2]);
digitalWrite(d,seven_seg[i][3]);
digitalWrite(e,seven_seg[i][4]);
digitalWrite(f,seven_seg[i][5]);
digitalWrite(g,seven_seg[i][6]);
digitalWrite(dp,seven_seg[i][7]);
delay(200);
digitalWrite(a, 0);
digitalWrite(b, 0);
digitalWrite(c, 0);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 0);
digitalWrite(dp,0);
delay(200);
}
沒有留言:
張貼留言