#define A 25
#define B 26
#define c 27
#define D 14
#define E 12
#define F 18
#define G 19
#define DP 9 // decimal
#define common_cathode 0
#define common_anode 1
bool segMode = common_cathode; // set this to your segment type, my segment is common_cathode
int seg[] {A,B,c,D,E,F,G,DP}; // segment pins
byte chars = 10;//x value in the array "Chars"
byte Chars[10][9] {
{'0',1,1,1,1,1,1,0,0},//0
{'1',0,1,1,0,0,0,0,0},//1
{'2',1,1,0,1,1,0,1,0},//2
{'3',1,1,1,1,0,0,1,0},//3
{'4',0,1,1,0,0,1,1,0},//4
{'5',1,0,1,1,0,1,1,0},//5
{'6',1,0,1,1,1,1,1,0},//6
{'7',1,1,1,0,0,0,0,0},//7
{'8',1,1,1,1,1,1,1,0},//8
{'9',1,1,1,1,0,1,1,0},//9
};
void setup() {
// set segment pins as OUTPUT
pinMode(seg[0],OUTPUT);
pinMode(seg[1],OUTPUT);
pinMode(seg[2],OUTPUT);
pinMode(seg[3],OUTPUT);
pinMode(seg[4],OUTPUT);
pinMode(seg[5],OUTPUT);
pinMode(seg[6],OUTPUT);
pinMode(seg[7],OUTPUT);
}
void setState(bool mode)
{
for(int i = 0;i<=6;i++)
{
digitalWrite(seg[i],mode);
}
}
void Print(int num) // print any number on the segment
{
// setState(segMode);//turn off the segment
if(segMode == 0){ //for segment mode
for(int i = 0;i<8;i++)
{digitalWrite(seg[i],Chars[num][i+1]);
}
}
else{
for(int i = 0;i<8;i++)
{digitalWrite(seg[i],!Chars[num][i+1]);
}
}
}
void loop() {
for(int i = 0;i < chars;i++) //print
{
Print(i);
delay(1000);
}
//Print(number or character); // print any number or character on the segment ( Note : you can't use capital characters )
//setState(state); //sets the hole segment state to "mode"
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
sevseg1:COM.1
sevseg1:COM.2
sevseg1:A
sevseg1:B
sevseg1:C
sevseg1:D
sevseg1:E
sevseg1:F
sevseg1:G
sevseg1:DP
r1:1
r1:2