random()

Описание

Функция random() генерирует псевдослучайные числа.

Синтаксис

random(max)
random(min, max)

Параметры

Функция принимает следующие параметры:

  • min: нижняя граница диапазона случайного значения, включительно (необязательный параметр). Допустимый тип данных: long.

  • max: верхняя граница диапазона случайного значения, не включительно. Допустимый тип данных: long.

Возвращаемое значение

Случайное число в диапазоне от min до max - 1. Тип данных: long.

Пример кода

long randNumber;

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

  // если аналоговый вход 0 не подключён, случайный аналоговый
  // шум вызовет вызов randomSeed() для генерации
  // различных начальных чисел при каждом запуске скетча.
  // randomSeed() перемешивает функцию random.
  randomSeed(analogRead(0));
}

void loop() {
  // выводит случайное число от 0 до 299
  randNumber = random(300);
  Serial.println(randNumber);

  // выводит случайное число от 10 до 19
  randNumber = random(10, 20);
  Serial.println(randNumber);

  delay(50);
}

Примечания и предупреждения

Примечание

Если важно, чтобы последовательность значений, генерируемая random(), отличалась при последовательных запусках скетча, используйте randomSeed() для инициализации генератора случайных чисел достаточно случайным входным значением, например analogRead() с неподключённого пина.

Предупреждение

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

Смотрите также

  • randomSeed()