Home Page | Language Reference (extended) | SD Reference | Libraries | Comparison | Changes
The random function generates pseudo-random numbers.
random(max)
random(min, max)
min - lower bound of the random value, inclusive (optional)
max - upper bound of the random value, exclusive
a random number between min and max-1 (long)
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.
long randNumber;void setup(){Serial.begin(9600);// if analog input pin 0 is unconnected, random / 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 299randNumber = random(300);Serial.println(randNumber); // print a random number from 10 to 19randNumber = random(10, 20);Serial.println(randNumber);delay(50);}
Corrections, suggestions, and new documentation should be posted to the Forum.
The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.