const byte numeral[10] =
{
B00000010, // angka 0
B10011110, // angka 1
B00100100, // angka 2
B00001100, // angka 3
B10011000, // angka 4
B01001000, // angka 5
B11000000, // angka 6
B00011110, // angka 7
B00000000, // angka 8
B00011000, // angka 9
};
//dp,G,E,F,D,C,B,A
const int segmentPins[8] = {5,9,8,7,6,4,3,2};
void setup() {
for (int i=0; i < 8; i ++)
{
pinMode(segmentPins[i], OUTPUT);
}
}
void loop() {
for(int i=0; i <= 10; i++)
{
showDigit(i);
delay(1000);
}
delay(500);
}
void showDigit (int number)
{
boolean isBitSet;
for(int segment = 1; segment < 8; segment++)
{
if(number < 0 || number > 9)
{
isBitSet = 1;
}
else
{
isBitSet = bitRead(numeral[number], segment);
}
isBitSet = !isBitSet;
digitalWrite(segmentPins[segment], isBitSet);
}}