const int pinSegmen[8] = {2, 3, 4, 5, 6, 7, 8};
const byte byteAngka[10]={
B11111100, // 0
B01100000, // 1
B11011010, // 2
B11110010, // 3
B01100110, // 4
B10110110, // 5
B10111110, // 6
B11100000, // 7
B11111110, // 8
B11110110 // 9
};
#define merah 11
#define kuning 10
#define hijau 9
void setup() {
for (int i = 0; i < 7; i++){
pinMode(pinSegmen[i], OUTPUT);
}
pinMode(merah, OUTPUT);
pinMode(kuning, OUTPUT);
pinMode(hijau, OUTPUT);
}
void loop() {
for (int i = 9; i >= 0; i--) {
displayAngka(i);
if (i < 4 && i > 0){
digitalWrite(merah, LOW);
digitalWrite(kuning, HIGH);
digitalWrite(hijau, LOW);
}else if (i == 0){
digitalWrite(merah, LOW);
digitalWrite(kuning, LOW);
digitalWrite(hijau, HIGH);
}else {
digitalWrite(merah, HIGH);
digitalWrite(kuning, LOW);
digitalWrite(hijau, LOW);
}
delay(1000);
}
}
void displayAngka(int num) {
for ( int i = 1; i < 7; i++) {
if (bitRead(byteAngka[num], i) ==LOW) {
digitalWrite(pinSegmen[7-i], HIGH);
}else {
digitalWrite(pinSegmen[7-i], LOW);
}
}
}