Вт сен 12, 2023 07:30:45
int key() {
int val = analogRead(0);
if (val < 50) return 3;
else if (val < 513) return 4;
else if (val < 683) return 5;
else if (val < 768) return 6;
else if (val < 819) return 7;
else return 0;
} //int key()
int r, c, n, i, j, q, w, u, l;
int arr[50];
long randNumber;
void setup() {
Serial.begin(9600);
randomSeed(analogRead(17));
n = 0;
}
void loop()
{
for (q = 0; q < 1000; q++) { // Цикл1 который увеличивает количество диодов на 1
n++;
Serial.println("----------"); delay(1000);
// Serial.print("Цикл1-n:");
// Serial.println(n);
for (i = 0; i < n; i++) { // Цикл2 который набирает массив
label:
randNumber = random(3, 7);
if (r == randNumber) {
goto label;
}
r = randNumber;
arr[i] = randNumber;
digitalWrite(randNumber, HIGH);
delay(200);
digitalWrite(randNumber, LOW);
// Serial.print("randNumber:");
// Serial.println(randNumber);
// return arr;
} delay(1500);
// for (l = 0; l < 1111; l++){ //Цикл таймер
for (w = 0; w < n; w++) { // Цикл3 должен ждать нажатия кнопки, и сравнить значение из key() с элементом массива
int k = arr[w];
if (k == key()) {
Serial.println("OK"); // Вся загвоздка здесть. Цикл пролетает и не ожидает нажатия
}
else
{
Serial.println("NO");
}
}//}//Цикл таймер
}
}
Вт сен 12, 2023 11:50:32