#define A 4
#define B 23
#define C 21
#define D 19
#define G 22
#define E 18
#define F 2
#define dp 27
//working IOs of ESP32 ------> 2, 4, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32 ,33
int segments[7] = {A,B,C,D,E,F,G};
void setup() {
for(int i = 0; i<7; i++){
pinMode(segments[i], OUTPUT);
}
}
void displayNum(int num) {
const bool segmentStates[16][7] = {
{0, 0, 0, 0, 0, 0, 1}, // 0
{1, 0, 0, 1, 1, 1, 1}, // 1
{0, 0, 1, 0, 0, 1, 0}, // 2
{0, 0, 0, 0, 1, 1, 0}, // 3
{1, 0, 0, 1, 1, 0, 0}, // 4
{0, 1, 0, 0, 1, 0, 0}, // 5
{0, 1, 0, 0, 0, 0, 0}, // 6
{0, 0, 0, 1, 1, 1, 1}, // 7
{0, 0, 0, 0, 0, 0, 0}, // 8
{0, 0, 0, 0, 1, 0, 0}, // 9
{0, 0, 0, 1, 0, 0, 0}, // 10 (A)
{1, 1, 0, 0, 0, 0, 0}, // 11 (B)
{0, 1, 1, 0, 0, 0, 1}, // 12 (C)
{0, 0, 0, 0, 0, 1, 0}, // 13 (D)
{0, 1, 1, 0, 0, 0, 0}, // 14 (E)
{0, 1, 1, 1, 0, 0, 0} // 15 (F)
};
for(int i = 0; i<7; i++){
digitalWrite(segments[i], segmentStates[num][i]);
}
}
void loop() {
for(int i = 0; i<16; i++){
displayNum(i);
delay(800);
}
}