void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(17, OUTPUT);
pinMode(5, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
pinMode(21, OUTPUT);
pinMode(22, OUTPUT);
pinMode(23, OUTPUT);
pinMode(16, INPUT_PULLUP);
}
long currentTime = 0;
long LastSaveTime = 0;
bool toggle7Segment = true;
int currentnum = 0;
void loop() {
currentTime=millis();
if(currentTime-LastSaveTime>=500)
{
LastSaveTime = currentTime;
if(digitalRead(16) == HIGH)
{
showSevenSegment(0,toggle7Segment);
}
else
{
showSevenSegment(currentnum,toggle7Segment);
Serial.println(currentnum);
if(toggle7Segment == true)
{
currentnum=currentnum+1;
}
if(currentnum>15)
{
currentnum=0;
}
}
toggle7Segment = !toggle7Segment;
}
}
void showSevenSegment(int num, bool status)
{
if(num == 0)
{
if(status == true)
{
digitalWrite(17, HIGH);
digitalWrite(5, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
digitalWrite(21, HIGH);
digitalWrite(22, LOW);
digitalWrite(23, HIGH);
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 1)
{
if(status == true)
{
digitalWrite(17, LOW);
digitalWrite(5, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 2)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, HIGH); //b
digitalWrite(18, LOW); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, HIGH); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, LOW); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 3)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, HIGH); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, LOW); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, LOW); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 4)
{
if(status == true)
{
digitalWrite(17, LOW); //a
digitalWrite(5, HIGH); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, LOW); //d
digitalWrite(21, LOW); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 5)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, LOW); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, LOW); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 6)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, LOW); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, HIGH); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 7)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, HIGH); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, LOW); //d
digitalWrite(21, LOW); //e
digitalWrite(22, LOW); //g
digitalWrite(23, LOW); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 8)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, HIGH); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, HIGH); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 9)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, HIGH); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, LOW); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 10)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, HIGH); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, LOW); //d
digitalWrite(21, HIGH); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 11)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, HIGH); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, HIGH); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 12)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, LOW); //b
digitalWrite(18, LOW); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, HIGH); //e
digitalWrite(22, LOW); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 13)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, HIGH); //b
digitalWrite(18, HIGH); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, HIGH); //e
digitalWrite(22, LOW); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 14)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, LOW); //b
digitalWrite(18, LOW); //c
digitalWrite(19, HIGH); //d
digitalWrite(21, HIGH); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
else if(num == 15)
{
if(status == true)
{
digitalWrite(17, HIGH); //a
digitalWrite(5, LOW); //b
digitalWrite(18, LOW); //c
digitalWrite(19, LOW); //d
digitalWrite(21, HIGH); //e
digitalWrite(22, HIGH); //g
digitalWrite(23, HIGH); //f
}
else
{
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
}
}