const byte letter[20] =
{
// 0 = led dalam seven segment yang tidak diberikan tagangan
// 1 = led dalam seven segment yang diberikan tagangan masukan
B10101011, // huruf M
B00111001, // huruf U
B00101111, // huruf H
B11111011, // huruf A
B10101011, // huruf M
B10101011, // huruf M
B11111011, // huruf A
B01111011, // huruf D
B00000011, // huruf -
B00001011, // huruf R
B10001001, // huruf I
B01111011, // huruf D
B00101111, // huruf H
B11111011, // huruf A
B00000011, // huruf -
B11111011, // huruf A
B00111111, // huruf B
B11111011, // huruf A
B01111011, // huruf D
B10001001, // huruf I
};
// pin dari segment dp,G,F,E,D,C,B,A
const int segmentPins[8] = { 4,8,9,7,6,5,3,2};
void setup()
{
for(int i=0; i < 8; i++)
{
pinMode(segmentPins[i], OUTPUT);
}
}
void loop()
{
//Seven segment akan memulai dari 0 sampai 10
//cara kerjanya sistem ditambah 1 dengan delay 1 detik dan ditambah 1 dengan delay 1 detik sampai batas nilai 10.
for(int i=0; i <= 20; i++)
{
showDigit(i);
delay(1000);
}
delay(500);
}
void showDigit( int huruf)
{
boolean isBitSet;
for(int segment = 1; segment < 8; segment++)
{
if( huruf < 0 || huruf > 19)
{
isBitSet = 0; // turn off all segments
}
else
{
// isBitSet will be true if given bit is 1
isBitSet = bitRead(letter[huruf], segment);
}
isBitSet = !isBitSet; //
digitalWrite( segmentPins[segment], isBitSet);
}
}