random() — Maple v0.0.12 Documentation

### Navigation

- next
- previous |
- LeafLabs |
- Index »
- Complete Language Index »

# random()

The `random()` function generates pseudo-random numbers.

## Library Documentation

`random`(long max)

  Same as a call to `random(0, max)`.

`random`(long min, long max)

  Generate a pseudo-random number with given lower and upper bounds.

  Parameters

  - `min` - Lower bound on the returned value, inclusive
  - `max` - Upper bound on the returned value, exclusive

  Returns: A pseudo-random number in the range [min, max).

## Discussion

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 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 ADC reading of pin 0. If this pin is unconnected, the Sketch should print different values to the 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

- randomSeed()

License and Attribution

Portions of this page were adapted from the Arduino Reference Documentation, which is released under a Creative Commons Attribution-ShareAlike 3.0 License.

### Navigation

- next
- previous |
- LeafLabs |
- Index »
- Complete Language Index »