aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/lang/randomseed.rst
blob: 3dcf4db634a6149b3e06a51f73a9c51f82ea2653 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
.. _lang-randomseed:

randomSeed(seed)
================

Description
-----------

randomSeed() initializes the pseudo-random 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.



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.



Parameters
----------

long, int - pass a number to generate the seed.



Returns
-------

no returns



Example
-------

::

    long randNumber;

    void setup(){
      Serial.begin(9600);
      randomSeed(analogRead(0));
    }

    void loop(){
      randNumber = random(300);
      Serial.println(randNumber);

      delay(50);
    }



See also
--------


-  `random <http://arduino.cc/en/Reference/Random>`_




.. include:: cc-attribution.txt