[Random Numbers]
Description
The random function generates pseudo-random numbers.
Syntax
random(max) random(min, max)
Parameters
min
– lower bound of the random value, inclusive (optional)max
– upper bound of the random value, exclusive
Returns
a random number between min
and max-1
(long)
Note
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.
Example Code
long randNumber; void setup(){ Serial.begin(9600); // if analog input pin 0 is unconnected, random analog // noise will cause the call to randomSeed() to generate // different seed numbers each time the sketch runs. // randomSeed() will then shuffle the random function. randomSeed(analogRead(0)); } void loop() { // print a random number from 0 to 299 randNumber = random(300); Serial.println(randNumber); // print a random number from 10 to 19 randNumber = random(10, 20); Serial.println(randNumber); delay(50); }
See also
- [Language] randomSeed()
Language Reference Home
The text of the 86Duino reference is a modification of the Arduino reference and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.