arduino
Случайные числа
Поиск…
Синтаксис
random (max) // Возвращает (длинное) псевдослучайное число между 0 (включительно) и max (эксклюзивным)
random (min, max) // Возвращает (длинное) псевдослучайное число между min (включительно) и max (эксклюзивным)
randomSeed (seed) // Инициализирует генератор псевдослучайных чисел, заставляя его запускаться в указанной точке в своей последовательности.
параметры
параметр | подробности |
---|---|
мин | Минимальное возможное значение (включительно) генерируется функцией random() . |
Максимум | Максимально возможное значение (исключение), которое будет генерироваться функцией random() . |
семя | Семя, которое будет использоваться для перетасовки функции random() . |
замечания
Если randomSeed()
вызывается с фиксированным значением (например, randomSeed(5)
), последовательность случайных чисел, сгенерированных эскизом, будет повторяться каждый раз, когда она запускается. В большинстве случаев предпочтительным является случайное семя, которое может быть получено путем считывания несвязанного аналогового вывода.
Создать случайное число
Функция random()
может использоваться для генерации псевдослучайных чисел:
void setup() {
Serial.begin(9600);
}
void loop() {
long randomNumber = random(500); // Generate a random number between 0 and 499
Serial.println(randomNumber);
randomNumber = random(100, 1000); // Generate a random number between 100 and 999
Serial.println(randomNumber);
delay(100);
}
Установка семян
Если важно, чтобы последовательность чисел, порожденных random()
различалась, рекомендуется указать семя с randomSeed()
:
void setup() {
Serial.begin(9600);
// If analog pin 0 is left unconnected, analogRead(0) will produce a
// different random number each time the sketch is run.
randomSeed(analogRead(0));
}
void loop() {
long randomNumber = random(500); // Generate a random number between 0 and 499
Serial.println(randomNumber);
delay(100);
}