Arduino

Reference Language | Libraries | Comparison | Changes

## 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()

Reference Home

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.

### Share

### This link has expired.
Please re-subscribe to our Newsletters.

### Subscribe to our Newsletters

Email

Please enter a valid email to subscribe

Arduino Newsletter
Arduino Store Newsletter

### Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy

###### Newsletter

- ©2015 Arduino
- Copyright Notice
- Contact us
- Careers