// TEST skills Setup code c++ Config 7Segments.
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 = 10 ;
int DIG2 = 11 ;
int DIG3 = 12 ;
int DIG4 = 13 ;
int8_t maxSeg = 8;
const int segment[7] ={A,B,C,D,E,F,G};
const int DIG[4] ={DIG4,DIG3,DIG2,DIG1};
#define anode true
#define cathode false
const byte 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);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
// pinMode(DP, OUTPUT);
pinMode(DIG4, OUTPUT);
pinMode(DIG3, OUTPUT);
pinMode(DIG2, OUTPUT);
pinMode(DIG1, OUTPUT);
}
void loop() {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
for(int i=0; i<10000; i++){
showNumber(i);
}
delay(1000);
}
void showNumber(int number) {
for(int i=0; i<7; i++){
digitalWrite(segment[i],bitRead(NUM[number],i));
if(number >= 0) {
digitalWrite(DIG[0], HIGH);
}
if(number >= 10) {
digitalWrite(segment[i],bitRead(NUM[number],i));
digitalWrite(DIG[1], HIGH);
}
if(number >= 100) {
digitalWrite(segment[i],bitRead(NUM[number],i));
digitalWrite(DIG[2], HIGH);
}
if(number >= 1000){
digitalWrite(segment[i],bitRead(NUM[number],i));
digitalWrite(DIG[3], HIGH);
};
if(number >= 9999) {
for(int n=0;n<4;n++)
digitalWrite(DIG[n], LOW);
};
};
delay(500);
}