.. highlight:: cpp .. _lang-randomseed: 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 --------------------- .. doxygenfunction:: randomSeed Discussion ---------- If it is important for a sequence of values generated by :ref:`random() ` to differ, on subsequent executions of a sketch, use ``randomSeed()`` to initialize the random number generator with a fairly random input, such as :ref:`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 :ref:`ADC ` reading of pin 0. If this pin is unconnected, the Sketch should print different values to the :ref:`serial 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 -------- - :ref:`random() ` .. include:: /arduino-cc-attribution.txt