randomSeed()¶
randomSeed()
initializes the pseudorandom number generator,
causing it to start at an arbitrary point in its random sequence.
This sequence, while very long, and random, is always the same.
Library Documentation¶
-
void
randomSeed
(unsigned int seed)¶ Initialize the pseudo-random number generator.
- Parameters
seed
-the number used to initialize the seed; cannot be zero.
Discussion¶
If it is important for a sequence of values generated by
random() to differ, on subsequent executions of a
sketch, use randomSeed()
to initialize the random number generator
with a fairly random input, such as analogRead() on an unconnected pin.
Conversely, it can occasionally be useful to use pseudorandom
sequences that repeat exactly. This can be accomplished by calling
randomSeed()
with a fixed number, before starting the random
sequence.
Example¶
The following sketch initializes the random seed based on an ADC reading of pin 0. If this pin is unconnected, the Sketch should print different values to the serial port monitor each time it is run:
long randNumber;
void setup() {
pinMode(0, INPUT_ANALOG);
randomSeed(analogRead(0));
}
void loop() {
randNumber = random(300);
SerialUSB.println(randNumber);
delay(50);
}
See Also¶
License and Attribution
Portions of this page were adapted from the Arduino Reference Documentation, which is released under a Creative Commons Attribution-ShareAlike 3.0 License.