const byte numeral[12]={
B00000011, //untuk angka 0
B10011111, //untuk angka 1
B00100101, //untuk angka 2
B00001101, //untuk angka 3
B10011001, //untuk angka 4
B01001001, //untuk angka 5
B01000001, //untuk angka 6
B00011111, //untuk angka 7
B00000001, //untuk angka 8
B00001001, //untuk angka 9
B11111111, //tanpa menampilkan apapun
B11111110, //menyalakan dp
};
const int segmentPins[8]= { 2,11,10,5,4,3,8,9 };
void setup(){
for (int i=0; i < 8; i++){
pinMode(segmentPins[i], OUTPUT);
}
}
void loop(){
tunjukanAngka(2);
delay(1000);
tunjukanAngka(10);
delay(1000);
tunjukanAngka(2);
delay(1000);
tunjukanAngka(10);
delay(1000);
tunjukanAngka(11);
delay(1000);
tunjukanAngka(10);
delay(1000);
tunjukanAngka(1);
delay(1000);
tunjukanAngka(10);
delay(1000);
tunjukanAngka(1);
delay(1000);
tunjukanAngka(10);
delay(1000);
tunjukanAngka(11);
delay(1000);
tunjukanAngka(10);
delay(1000);
tunjukanAngka(5);
delay(1000);
tunjukanAngka(10);
delay(1000);
tunjukanAngka(0);
delay(1000);
tunjukanAngka(10);
delay(1000);
tunjukanAngka(8);
delay(1000);
tunjukanAngka(10);
delay(1000);
tunjukanAngka(9);
delay(1000);
tunjukanAngka(10);
delay(1000);
}
void tunjukanAngka (int number){
boolean isBitSet;
byte valueWithDP = numeral[number];
bitSet(valueWithDP, 8);
for (int segment = 0; segment < 8; segment++) {
isBitSet = bitRead(valueWithDP, segment);
digitalWrite(segmentPins[segment], isBitSet);
}
}