int time = 0;
int A = 2;
int B = 3;
int C = 4;
int D = 5;
int E = 6;
int F = 7;
int G = 8;
//int DP= 9;
int DIG1 = 13;
int DIG2 = 12;
int DIG3 = 11;
int DIG4 = 10;
const int PINs[7] ={A , B , C , D , E , F , G};
const int DIG[4] ={DIG4 , DIG3 , DIG2 , DIG1};
const int NUM[10] ={//เรียงลำดับดังนี้ >> พิม 0b ตามด้วย G,F,E,D,C,B,A
0b1000000, // 0
0b1111001, // 1
0b0100100, // 2
0b0110000, // 3
0b0011001, // 4
0b0010010, // 5
0b0000010, // 6
0b1111000, // 7
0b0000000, // 8
0b0010000, // 9
};
void setup() {
Serial.begin(9600);
//config to segment
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
//pinMode(DP, OUTPUT);
// config to digit
pinMode(DIG[0], OUTPUT);
pinMode(DIG[1], OUTPUT);
pinMode(DIG[2], OUTPUT);
pinMode(DIG[3], OUTPUT);
/*for(int i=0; i<7; i++){
pinMode(PINs[i], OUTPUT);
}
for(int i=0; i<4; i++){
pinMode(DIG[i], OUTPUT);
}
*/
}
void loop() {
Serial.print("SHOW:");
time +=1 ;
Serial.println(time);
/*
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
*/
digitalWrite(DIG[0], 1);
digitalWrite(DIG[1], 1);
digitalWrite(DIG[2], 1);
digitalWrite(DIG[3], 1);
for(int i=0 ; i<10000 ; i++){
showNumber(i);
};
delayMicroseconds(10000);
}
void displayNumber(int digit , int number) {
for(int i=0; i<7; i++){
digitalWrite(PINs[i],bitRead(NUM[number],i));
}
for(int i=0; i<4; i++){
digitalWrite(DIG[i],i==digit);
delayMicroseconds(8000);
}
}
void showNumber(int count) {
count = 0;
while (true) {
displayNumber(3, count / 1000); // หลักพัน
displayNumber(2, (count % 1000) / 100); // หลักร้อย
displayNumber(1, (count % 100) / 10); // หลักสิบ
displayNumber(0, count % 10); // หลักหน่วย
count++;
if (count == 10000) {
count = 0;
};
};
}