random()

Описание

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


Синтаксис

result = random(max);
result = random(min, max);


Параметры

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


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

Случайное число в диапазоне от min до max-1 (long).


Примечание

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

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


Пример

long randNumber;
 
void setup()
{
  Serial.begin(9600);
 
  // если аналоговый вход 0 ни к чему не подсоединен, то произвольный аналоговый
  // шум на нем обеспечит разные исходные числа, передаваемые функции 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);
}


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

Расскажи о нас

Сообщение

Если у Вас есть опыт в работе с Arduino и собственно есть время для творчества, мы приглашаем всех желающих стать авторами статей публикуемых на нашем портале. Это могут быть как уроки, так и рассказы о ваших экспериментах с Arduino. Описание различных датчиков и модулей. Советы и наставления начинающим. Пишите и размещайте свои статьи в соответсвующей ветке форума.