Zoeken…


Syntaxis

  • random (max) // Retourneert een (lang) pseudo-willekeurig getal tussen 0 (inclusief) en max (exclusief)

  • random (min, max) // Retourneert een (lang) pseudo-willekeurig getal tussen min (inclusief) en max (exclusief)

  • randomSeed (seed) // Initialiseert de pseudo-willekeurige getallengenerator, waardoor deze op een bepaald punt in de reeks begint.

parameters

Parameter Details
min De minimaal mogelijke waarde (inclusief) die moet worden gegenereerd door de functie random() .
max De maximaal mogelijke waarde (exclusief) die wordt gegenereerd door de functie random() .
zaad Het zaad dat wordt gebruikt om de functie random() volgorde te plaatsen.

Opmerkingen

Als randomSeed() wordt aangeroepen met een vaste waarde (bijv. randomSeed(5) ), herhaalt de reeks willekeurige getallen die door de schets worden gegenereerd elke keer dat deze wordt uitgevoerd. In de meeste gevallen heeft een willekeurig zaad de voorkeur, wat kan worden verkregen door een niet-verbonden analoge pin te lezen.

Genereer een willekeurig nummer

De functie random() kan worden gebruikt om pseudo-willekeurige getallen te genereren:

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);
}

Een zaadje zetten

Als het belangrijk is dat een reeks getallen gegenereerd door random() verschilt, is het een goed idee om een seed met 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow