Example Code
The code generates random numbers and displays them.
long randNumber;
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop() {
randNumber = random(300);
Serial.println(randNumber);
randNumber = random(10, 20);
Serial.println(randNumber);
delay(50);
}
Notes and Warnings
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 pseudo-random sequences that repeat exactly. This can be accomplished by calling randomSeed()
with a fixed number, before starting the random sequence.
The max
parameter should be chosen according to the data type of the variable in which the value is stored. In any case, the absolute maximum is bound to the long
nature of the value generated (32 bit - 2,147,483,647). Setting max
to a higher value won’t generate an error during compilation, but during sketch execution the numbers generated will not be as expected.