Функция randomSeed() инициализирует генератор псевдослучайных чисел, запуская его с произвольной точки последовательности случайных чисел. Несмотря на то, что эта последовательность состоит из очень большого количества случайных чисел, она всегда одна и та же.
Если при циклическом использовании функции random() важно получать последовательность различных случайных чисел, то для инициализации генератора случайных чисел используйте функцию randomSeed() с параметром, представляющим собой в определенной степени случайную величину. Таким параметром может быть, например, величина напряжения, считанная функцией analogRead() с неподсоединенного вывода.
Изредка требуется и обратное - использовать точно повторяющиеся последовательности псевдо-случайных чисел. Для этого перед началом генерирования последовательности случайных чисел необходимо вызвать функцию randomSeed() с параметром, представляющим собой фиксированное число.
randomSeed(value);
Нет.
long randNumber;
void setup()
{
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop()
{
randNumber = random(300);
Serial.println(randNumber);
delay(50);
}
Если у Вас есть опыт в работе с Arduino и собственно есть время для творчества, мы приглашаем всех желающих стать авторами статей публикуемых на нашем портале. Это могут быть как уроки, так и рассказы о ваших экспериментах с Arduino. Описание различных датчиков и модулей. Советы и наставления начинающим. Пишите и размещайте свои статьи в соответсвующей ветке форума.