#define CLK 2
#define DIO 3
#include "GyverTM1637.h"
GyverTM1637 disp(CLK, DIO);
uint32_t Now, clocktimer;
//boolean flag;
//boolean running = false;
int x;
int y;
long randNumber;
bool ButtonFlag=false;
unsigned long t;
unsigned long tv;
unsigned long timing;
//unsigned int c;
long c;
int i, o, p, r, d;
//bool flag = false;
void setup() {
disp.clear();
disp.brightness(7); // яркость, 0 - 7 (минимум - максимум)
// put your setup code here, to run once:
Serial.begin(9600);
for (p = 4; p < 13; p++) {pinMode(p, INPUT_PULLUP);}
pinMode(17, OUTPUT);
for (d = 4; d < 13; d++) {digitalWrite(d, LOW);}
}
void loop() {
label:
randNumber = random(4, 12);
if (r == randNumber) {goto label;}
r = randNumber;
digitalWrite(randNumber, HIGH); // включает светодиод
for (c = 0; c < 700000; c++){
bool buttonState = digitalRead(randNumber);
Serial.print(randNumber);
Serial.print(":");
Serial.println(buttonState);
Serial.println(millis());
if (!buttonState) {
digitalWrite(randNumber, LOW);
//Serial.println(t);
i++;
//delay(200);
// for (byte ; i==o; i++){
// o = i+1;
byte digs[4] = {0, 0, y, i};
disp.scroll(digs, 30);
if (i >= 9) {
i = 0;
y++;
byte digs[4] = {0, 0, y, i};
disp.scroll(digs, 30);
// delay(200);
//if (y > 2) {disp.clear(); disp.displayInt(-999);}
} //if (i >= 9)
goto label;
} //if (!buttonState)
} //if (millis()
} //void loop
//delay(3000);
// if (millis() - timing > 3000) { // Вместо 10000 подставьте нужное вам значение паузы
//timing = millis(); }
//else {
// if (millis() - timing > 3000) { // Вместо 10000 подставьте нужное вам значение паузы
// timing = millis();
// digitalWrite(randNumber, LOW);
// delay(1000);
//delay(3000);
/* for (i==o; i++;){
o = i-1;
Serial.print("i:");
Serial.println(o);
delay(400);
goto label;*/
// digitalWrite(17, HIGH);
// Serial.println("17:");
//goto label;
/*
// put your main code here, to run repeatedly:
randNumber = random(300);
Serial.println(randNumber);
// выводим случайное число из диапазона 10..19
randNumber = random(10, 20);
Serial.println(randNumber);
delay(500);*/