aboutsummaryrefslogtreecommitdiffstats
path: root/source/lang/random.rst
diff options
context:
space:
mode:
Diffstat (limited to 'source/lang/random.rst')
-rw-r--r--source/lang/random.rst95
1 files changed, 95 insertions, 0 deletions
diff --git a/source/lang/random.rst b/source/lang/random.rst
new file mode 100644
index 0000000..51bee67
--- /dev/null
+++ b/source/lang/random.rst
@@ -0,0 +1,95 @@
+.. _lang-random:
+
+random()
+========
+
+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
+-------
+
+::
+
+ 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
+--------
+
+
+- `randomSeed <http://arduino.cc/en/Reference/RandomSeed>`_\ ()
+
+
+
+.. include:: cc-attribution.txt