const byte numeral[10] =
{
B11111101, //0
B01100001, //1
B11011011, //2
B11110011, //3
B01100111, //4
B10110111, //5
B10111111, //6
B11100001, //7
B11111111, //8
B11110111, //9
};
const int segmentpins[8] = {5,9,8,7,6,4,3,2};
void setup() {
// put your setup code here, to run once:
for(int i=0; i<8; i++){
pinMode(segmentpins[i], OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int i=9; i>=0; i--){
showdigit(i);
delay(1000);
}
delay(2000);
}
void showdigit(int number){
boolean isBitSet;
for(int segment = 1; segment < 8; segment++){
if(number<0||number>9){
isBitSet = 0; //segment mati
} else{
isBitSet =bitRead(numeral[number], segment);
}
isBitSet = !isBitSet;
digitalWrite(segmentpins[segment], isBitSet);
}
}