Generowanie liczb losowych

ArduinoIDE ma zaimplementowane funkcje umożliwiające generowanie liczb pseudolosowych. Do dyspozycji mamy dwie funkcje: random() oraz randomSeed().

    randomSeed()

Funkcja randomSeed() umożliwia zainicjowanie generatora liczb pseudolosowych.

    random()

Funkcja random() umożliwia wygenerowanie liczby  pseudolosowej z podanego zakresu. Składnia polecenia podana została poniżej:

random(x);       // zakres 0 - (x-1)
random(a,b);     // zakres a - (b-1)

Podając jeden parametr generujemy liczbę z zakresu od zera do liczby o jeden mniejszej od parametru. Dla dwóch parametrów zakres rozpoczyna się od pierwszego parametru, a kończy na liczbie o jeden mniejszej od drugiego parametru. Przykład losowania liczb podano poniżej:

long randNumber;

void setup()
  {
   Serial.begin(9600);
   randomSeed(analogRead(0));
  }

void loop() 
  {
   randNumber = random(300);
   Serial.println(randNumber);  
   randNumber = random(10, 20);
   Serial.println(randNumber);
   delay(150);
  }

W przykładzie zastosowano inicjalizację generatora za pomocą wartości odczytanej z wejścia analogowego. Pierwsza z pary liczb losowana jest z zakresu 0 - 299, druga z zakresu 10 - 19.