// // 七段顯示器製作倒數功能
////////////////////////////////////////////////////////////////////////////
// void setup() {
// pinMode(15, OUTPUT);
// pinMode(2, OUTPUT);
// pinMode(4, OUTPUT);
// pinMode(5, OUTPUT);
// pinMode(18, OUTPUT);
// pinMode(19, OUTPUT);
// pinMode(21, OUTPUT);
// pinMode(22, OUTPUT);
// digitalWrite(5, 0); // 關閉小數點
// }
// void loop() {
// // 顯示數字 '9'
// digitalWrite(19, 1);
// digitalWrite(18, 1);
// digitalWrite(4, 1);
// digitalWrite(2, 1);
// digitalWrite(15, 0);
// digitalWrite(21, 1);
// digitalWrite(22, 1);
// delay(1000);
// // 顯示數字 '8'
// digitalWrite(19, 1);
// digitalWrite(18, 1);
// digitalWrite(4, 1);
// digitalWrite(2, 1);
// digitalWrite(15, 1);
// digitalWrite(21, 1);
// digitalWrite(22, 1);
// delay(1000);
// // 顯示數字 '7'
// digitalWrite(19, 1);
// digitalWrite(18, 1);
// digitalWrite(4, 1);
// digitalWrite(2, 0);
// digitalWrite(15, 0);
// digitalWrite(21, 0);
// digitalWrite(22, 0);
// delay(1000);
// // 顯示數字 '6'
// digitalWrite(19, 0);
// digitalWrite(18, 0);
// digitalWrite(4, 1);
// digitalWrite(2, 1);
// digitalWrite(15, 1);
// digitalWrite(21, 1);
// digitalWrite(22, 1);
// delay(1000);
// // 顯示數字 '5'
// digitalWrite(19, 1);
// digitalWrite(18, 0);
// digitalWrite(4, 1);
// digitalWrite(2, 1);
// digitalWrite(15, 0);
// digitalWrite(21, 1);
// digitalWrite(22, 1);
// delay(1000);
// // 顯示數字 '4'
// digitalWrite(19, 0);
// digitalWrite(18, 1);
// digitalWrite(4, 1);
// digitalWrite(2, 0);
// digitalWrite(15, 0);
// digitalWrite(21, 1);
// digitalWrite(22, 1);
// delay(1000);
// // 顯示數字 '3'
// digitalWrite(19, 1);
// digitalWrite(18, 1);
// digitalWrite(4, 1);
// digitalWrite(2, 1);
// digitalWrite(15, 0);
// digitalWrite(21, 0);
// digitalWrite(22, 1);
// delay(1000);
// // 顯示數字 '2'
// digitalWrite(19, 1);
// digitalWrite(18, 1);
// digitalWrite(4, 0);
// digitalWrite(2, 1);
// digitalWrite(15, 1);
// digitalWrite(21, 0);
// digitalWrite(22, 1);
// delay(1000);
// // 顯示數字 '1'
// digitalWrite(19, 0);
// digitalWrite(18, 1);
// digitalWrite(4, 1);
// digitalWrite(2, 0);
// digitalWrite(15, 0);
// digitalWrite(21, 0);
// digitalWrite(22, 0);
// delay(1000);
// // 顯示數字 '0'
// digitalWrite(19, 1);
// digitalWrite(18, 1);
// digitalWrite(4, 1);
// digitalWrite(2, 1);
// digitalWrite(15, 1);
// digitalWrite(21, 1);
// digitalWrite(22, 0);
// delay(1000);
// // 暫停 4 秒鐘全暗
// digitalWrite(19, 0);
// digitalWrite(18, 0);
// digitalWrite(4, 0);
// digitalWrite(2, 0);
// digitalWrite(15, 0);
// digitalWrite(21, 0);
// digitalWrite(22, 0);
// delay(4000);
// }
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
// 七段顯示器計時功能(陣列、迴圈)
// 七段顯示器腳位設定
#define pin_A 19
#define pin_B 18
#define pin_C 4
#define pin_D 2
#define pin_E 15
#define pin_F 21
#define pin_G 22
#define pin_DP 5
int pin[8] = {pin_A, pin_B, pin_C, pin_D, pin_E, pin_F, pin_G, pin_DP};
int num[10][8] = {{1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 0, 0, 0, 0, 0},
{1, 1, 0, 1, 1, 0, 1, 0},
{1, 1, 1, 1, 0, 0, 1, 0},
{0, 1, 1, 0, 0, 1, 1, 0},
{1, 0, 1, 1, 0, 1, 1, 0},
{1, 0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 0, 0, 1, 0, 0},
{1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 0, 1, 1, 0},
};
void displayNum(int number){
for(int i= 0; i < 8; i++){
digitalWrite(pin[i], num[number][i]);
}
}
void setup() {
for(int i = 0; i < 8; i++){
pinMode(pin[i], OUTPUT);
}
}
void loop() {
for(int i=9; i>=0 ;i--){
displayNum(i);
delay(1000);
}
delay(2000);
}
////////////////////////////////////////////////////////////////////////////