boolean num [10][7] = {1,1,1,1,1,1,0,
0,1,1,0,0,0,0,
1,1,0,1,1,0,1,
1,1,1,1,0,0,1,
0,1,1,0,0,1,1,
1,0,1,1,0,1,1,
1,0,1,1,1,1,1,
1,1,1,0,0,1,0,
1,1,1,1,1,1,1,
1,1,1,1,0,1,1 };
unsigned long period = 100; //ระยะเวลาที่ต้องการรอ
unsigned long last_time = 0; //ประกาศตัวแปรเป็น global เพื่อเก็บค่าไว้ไม่ให้ reset จากการวนloop
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
digitalWrite(9, HIGH);
}
int x =0;
void loop()
{
show_num(x);
if( millis() - last_time > period) {
last_time = millis();
x ++ ;
}
}
void show_num(int a){
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
int n4 = a / 1000 ;
for(int i = 2 ; i <= 8 ; i ++){
digitalWrite(i, !num [n4][i-2]);
}
delay(5);
for(int i = 2; i<=8; i++){ //เคลีย
digitalWrite(i,!LOW);
}
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
int n3 = (a-(n4*1000))/100 ;
for(int i = 2 ; i <= 8 ; i ++){
digitalWrite(i, !num [n3][i-2]);
}
delay(5);
for(int i = 2; i<=8; i++){ //เคลีย
digitalWrite(i,!LOW);
}
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
int n2 = ((a-(n4*1000))-n3*100)/10 ;
for(int i = 2 ; i <= 8 ; i ++){
digitalWrite(i, !num [n2][i-2]);
}
delay(5);
for(int i = 2; i<=8; i++){ //เคลีย
digitalWrite(i,!LOW);
}
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
int n1 = (((a-(n4*1000))-n3*100)-n2*10) ;
for(int i = 2 ; i <= 8 ; i ++){
digitalWrite(i, !num [n1][i-2]);
}
delay(5);
for(int i = 2 ; i <= 8 ; i ++){
digitalWrite(i, !LOW);
}
delay(5);
}