Buscar..


Sintaxis

  • random (max) // Devuelve un número pseudo-random (long) entre 0 (inclusive) y max (exclusive)

  • random (min, max) // Devuelve un número pseudo-random (long) entre min (inclusive) y max (exclusive)

  • randomSeed (seed) // Inicializa el generador de números pseudoaleatorios, lo que hace que se inicie en un punto específico de su secuencia.

Parámetros

Parámetro Detalles
min El valor mínimo posible (incluido) que generará la función random() .
max El valor máximo posible (exclusivo) que generará la función random() .
semilla La semilla que se utilizará para barajar la función random() .

Observaciones

Si se llama a randomSeed() con un valor fijo (por ejemplo, randomSeed(5) ), la secuencia de números aleatorios generados por el boceto se repetirá cada vez que se ejecute. En la mayoría de los casos, se prefiere una semilla aleatoria, que puede obtenerse leyendo un pin analógico no conectado.

Generar un número aleatorio

La función random() se puede usar para generar números pseudoaleatorios:

void setup() {
    Serial.begin(9600);
}

void loop() {
    long randomNumber = random(500);  // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    randomNumber = random(100, 1000); // Generate a random number between 100 and 999
    Serial.println(randomNumber);

    delay(100);
}

Poniendo una semilla

Si es importante que una secuencia de números generados por random() difiera, es una buena idea especificar una semilla con randomSeed() :

void setup() {
    Serial.begin(9600);
    
    // If analog pin 0 is left unconnected, analogRead(0) will produce a
    // different random number each time the sketch is run.
    randomSeed(analogRead(0));
}

void loop() {
    long randomNumber = random(500); // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    delay(100);
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow