Генераторы случайных значений
Функции формирования случайных чисел:
❒ randomSeed();
❒ random().
Функция randomSeed(seed)
Функция randomSeed() инициализирует генератор псевдослучайных чисел. Генерируемая последовательность случайных чисел очень длинная, и всегда одна и та же. Точка в этой последовательности, с которой начинается генерация чисел, зависит от параметра seed.
Параметр: seed — параметр, задающий начало выдачи псевдослучайных значений на последовательности (тип int, long).
Функция random()
Функция random() возвращает псевдослучайное число.
Синтаксис:
random(max); random(min, max);
Параметры:
❒ min — нижняя граница случайных значений, включительно (опционально);
❒ max — верхняя граница случайных значений, включительно. Возвращаемое значение: случайное число между min и max – 1 (тип long).
Если при каждом запуске программы необходимо получать разные последовательности значений, генерируемых функцией random(), то необходимо инициализировать генератор псевдослучайных чисел со случайным параметром. Например, можно использовать значение, отдаваемое функцией analogRead() c неподключенного порта входа/выхода. В некоторых случаях необходимо получать одинаковую последовательность при каждом запуске программы на Arduino. Тогда инициализировать генератор псевдослучайных чисел следует вызовом функции randomSeed() с фиксированным параметром.
Пример использования функции
long randNumber; void setup()
{
Serial.begin(9600);
}
void loop()
{
// выводим случайное число из диапазона 0..299 randNumber = random(300); Serial.println(randNumber);
// выводим случайное число из диапазона 0..19 randNumber = random(10, 20); Serial.println(randNumber);
delay(50);
}