Поиск…


Синтаксис

  • random (max) // Возвращает (длинное) псевдослучайное число между 0 (включительно) и max (эксклюзивным)

  • random (min, max) // Возвращает (длинное) псевдослучайное число между min (включительно) и max (эксклюзивным)

  • randomSeed (seed) // Инициализирует генератор псевдослучайных чисел, заставляя его запускаться в указанной точке в своей последовательности.

параметры

параметр подробности
мин Минимальное возможное значение (включительно) генерируется функцией random() .
Максимум Максимально возможное значение (исключение), которое будет генерироваться функцией random() .
семя Семя, которое будет использоваться для перетасовки функции random() .

замечания

Если randomSeed() вызывается с фиксированным значением (например, randomSeed(5) ), последовательность случайных чисел, сгенерированных эскизом, будет повторяться каждый раз, когда она запускается. В большинстве случаев предпочтительным является случайное семя, которое может быть получено путем считывания несвязанного аналогового вывода.

Создать случайное число

Функция random() может использоваться для генерации псевдослучайных чисел:

void setup() {
    Serial.begin(9600);
}

void loop() {
    long randomNumber = random(500);  // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    randomNumber = random(100, 1000); // Generate a random number between 100 and 999
    Serial.println(randomNumber);

    delay(100);
}

Установка семян

Если важно, чтобы последовательность чисел, порожденных random() различалась, рекомендуется указать семя с randomSeed() :

void setup() {
    Serial.begin(9600);
    
    // If analog pin 0 is left unconnected, analogRead(0) will produce a
    // different random number each time the sketch is run.
    randomSeed(analogRead(0));
}

void loop() {
    long randomNumber = random(500); // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    delay(100);
}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow