#define BUTTON_PIN 2
int dec_digits1[10] {1, 79, 18, 6, 76, 36, 32, 15, 0, 4};
bool flag = true;
int DS_pin = 13;
int STCP_pin = 12;
int SHCP_pin = 11;
//---------------------------------------------------
void stop()
{
flag = false;
}
//---------------------------------------------------
void setup() {
pinMode(DS_pin, OUTPUT);
pinMode(STCP_pin, OUTPUT);
pinMode(SHCP_pin, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), stop, FALLING);
}
//---------------------------------------------------
void loop() {
for (int H = 0; H < 10; H++) {
if (flag == true)
{
digitalWrite(STCP_pin, LOW);
shiftOut(DS_pin, SHCP_pin, LSBFIRST, dec_digits1[H]);
digitalWrite(STCP_pin, HIGH);
delay(500);
}
else
break;
}
while (digitalRead(BUTTON_PIN) == LOW) {
detachInterrupt(digitalPinToInterrupt(BUTTON_PIN));
flag = true;
delay(100);
}
delay(500);
if (digitalRead(BUTTON_PIN) == HIGH) {
attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), stop, FALLING);
}
}