// 腳位設定
int pins[] = {2, 4, 14, 12, 13, 5, 18}; // 對應到 A, B, C, D, E, F, G
// 七段顯示的數字對應
// 每個數字顯示的狀態(0 代表點亮,1 代表熄滅)
int numSegments[10][7] = {
{0, 0, 0, 0, 0, 0, 1}, // 0
{1, 0, 0, 1, 1, 1, 1}, // 1
{0, 0, 1, 0, 0, 1, 0}, // 2
{0, 0, 0, 0, 1, 1, 0}, // 3
{1, 0, 0, 1, 1, 0, 0}, // 4
{0, 1, 0, 0, 1, 0, 0}, // 5
{0, 1, 0, 0, 0, 0, 0}, // 6
{0, 0, 0, 1, 1, 1, 1}, // 7
{0, 0, 0, 0, 0, 0, 0}, // 8
{0, 0, 0, 0, 1, 0, 0} // 9
};
void seg_display(int num){
for (int i = 0; i < 7; i++) { //從a-g分別設定狀態(0或1)
digitalWrite(pins[i], numSegments[num][i]);
}
}
void setup() {
// 每個腳位都設為輸出
for (int i = 0; i < 7; i++) {
pinMode(pins[i], OUTPUT);
}
}
void loop() {
for (int num = 5; num >=0; num--) { //從5數到0
// 根據數字設定七段顯示器
seg_display(num);
delay(1000);
}
delay(99999);
}