//segments
int segments[8] = {2, 3, 4, 5, 7, 8, 9, 10};
int one[2] = {3, 7};
int two[5] = {8, 7, 10, 5, 4};
int three[5] = {8, 7, 10, 3, 4};
int four[4] = {9, 10, 7, 3};
int five[5] = {8, 9, 10, 3, 4};
int six[6] = {3, 4, 8, 5, 9, 10};
int seven[3] = {3, 7, 8};
int eight[7] = {3, 4, 7, 8, 5, 9, 10};
int nine[5] = {9, 8, 10, 3, 7};
int deploytime = 0;
const int button = 6;
int buttonState = 0;
int lastButtonState = 0;
//--------------------------------------------------------------
void setup() {
pinMode(button, INPUT);
for (int i = 0; i < 8; i++) {
pinMode(segments[i], OUTPUT);
}
Serial.begin(9600);
}
//--------------------------------------------------------------
void loop() {
timechange();
}
//--------------------------------------------------------------
void timechange() {
buttonState = digitalRead(button);
if (buttonState == LOW) {
delay(50);
if (buttonState == LOW) {
if (buttonState != lastButtonState) {
deploytime++;
Serial.print(deploytime);
clear();
}
}
}
lastButtonState = buttonState;
switch (deploytime) {
case 1 : for (int i = 0; i < 2; i++) {
digitalWrite(one[i], HIGH);
} break;
case 2 : for (int i = 0; i < 5; i++) {
digitalWrite(two[i], HIGH);
} break;
case 3 : for (int i = 0; i < 5; i++) {
digitalWrite(three[i], HIGH);
} break;
case 4 : for (int i = 0; i < 4; i++) {
digitalWrite(four[i], HIGH);
} break;
case 5 : for (int i = 0; i < 5; i++) {
digitalWrite(five[i], HIGH);
} break;
case 6 : for (int i = 0; i < 6; i++) {
digitalWrite(six[i], HIGH);
} break;
case 7 : for (int i = 0; i < 3; i++) {
digitalWrite(seven[i], HIGH);
} break;
case 8 : for (int i = 0; i < 7; i++) {
digitalWrite(eight[i], HIGH);
} break;
case 9 : for (int i = 0; i < 5; i++) {
digitalWrite(nine[i], HIGH);
} break;
default: deploytime = 1;
}
}
//--------------------------------------------------------------
void clear() {
digitalWrite(segments[0], LOW);
digitalWrite(segments[1], LOW);
digitalWrite(segments[2], LOW);
digitalWrite(segments[3], LOW);
digitalWrite(segments[4], LOW);
digitalWrite(segments[5], LOW);
digitalWrite(segments[6], LOW);
digitalWrite(segments[7], LOW);
return;
}