const int m = 11, k = 10, h = 9;
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 pins[8] = {5,12,8,7,6,4,3,2};
void setup() {
// put your setup code here, to run once:
pinMode(m, OUTPUT);
pinMode(k, OUTPUT);
pinMode(h, OUTPUT);
for(int i=0; i<8; i++){
pinMode(pins[i], OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(m, HIGH);
for(int i=9; i>=0; i--){
showdigit(i);
delay(1000);
}
digitalWrite(m, LOW);
digitalWrite(k, HIGH);
for(int i=3; i>=0; i--){
showdigit(i);
delay(1000);
}
digitalWrite(k, LOW);
digitalWrite(h, HIGH);
for(int i=9; i>=0; i--){
showdigit(i);
delay(1000);
}
digitalWrite(h, LOW);
}
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(pins[segment], isBitSet);
}
}