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()