int index = 0;
const int LED[] = {10,11,12};
const byte segmentCodes[] = {
0b11000000, // 0
0b11111001, // 1
0b10100100, // 2
0b00110000, // 3
0b00011001, // 4
0b00010010, // 5
0b00000010, // 6
0b11111000, // 7
0b00000000, // 8
0b00010000, // 9
0b00001000, // A
0b00000011, // B
0b01000110, // C
0b00100001, // D
0b00000110, // E
0b10001110}; // F
void setup() {
// กำหนดขาที่ต่อกับหลอด LED 7-Segment ในฐาน 16 (A, B, C, D, E, F, G)
pinMode(2,OUTPUT);//a
pinMode(3,OUTPUT);//b
pinMode(4,OUTPUT);//c
pinMode(5,OUTPUT);//d
pinMode(6,OUTPUT);//e
pinMode(7,OUTPUT);//f
pinMode(8,OUTPUT);//g
pinMode(9,OUTPUT);//poirt
for (int i = 0; i < sizeof(LED) / sizeof(LED[0]); i++) {
pinMode(LED[i], OUTPUT);
}
}
void displayDigit(byte value) {
digitalWrite(2, bitRead(value, 0));
digitalWrite(3, bitRead(value, 1));
digitalWrite(4, bitRead(value, 2));
digitalWrite(5, bitRead(value, 3));
digitalWrite(6, bitRead(value, 4));
digitalWrite(7, bitRead(value, 5));
digitalWrite(8, bitRead(value, 6));
}
void turnOnLED(int index) {
digitalWrite(LED[index], LOW);
}
void turnOffLED(int index) {
digitalWrite(LED[index], HIGH); // ปิด LED สีที่ต้องการ
}
void countdown_time(int time) {
for (int i = time; i >= 0; i--) {
displayDigit(segmentCodes[i]);
delay(1000);
}
}
void loop() {
turnOnLED(2);
turnOffLED(0);
turnOffLED(1);
countdown_time(4);
turnOffLED(2);
turnOnLED(1);
countdown_time(3);
turnOffLED(1);
turnOnLED(0);
countdown_time(5);
}