random()

Descrição

A função random() gera números pseudoaleatórios.

Sintaxe

random(max)

random(min, max)

Parâmetros

  • min - menor limite do valor aleatório, inclusivo e opcional (long)
  • max - maior limite do valor aleatório, exclusivo (long)

Retorna

Um número inteiro aleatório entre min e max-1 (long) .

Código de exemplo

O código abaixo gera números aleatórios e os imprime na porta serial.

long randNumber; void setup() { Serial.begin(9600); // Se o pino de entrada analógica 0 é deixado desconectado, // o ruído aleatório analógico irá causar a chamada de randomSeed() // gerar sementes aleatórias diferentes cada vez que o sketch roda. // randomSeed() basicamente "embaralha" a função random(). randomSeed(analogRead(0)); } void loop() { // imprime um número aleatório entre 0 e 299 randNumber = random(300); Serial.print("A random number from 0 to 299: "); Serial.println(randNumber); // imprime um valor aleatório entre 10 e 19 randNumber = random(10, 20); Serial.print("A random number from 10 to 19: "); Serial.println(randNumber); delay(1000); }
  • The result on Serial Monitor:
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
A random number from 0 to 299: 52 A random number from 10 to 19: 15 A random number from 0 to 299: 165 A random number from 10 to 19: 15 A random number from 0 to 299: 276 A random number from 10 to 19: 17 A random number from 0 to 299: 244 A random number from 10 to 19: 13 A random number from 0 to 299: 216 A random number from 10 to 19: 15 A random number from 0 to 299: 91
Ln 11, Col 1
Arduino Uno on COM15
2

※ Notas e Advertências:

Se é importante que uma sequência de valores gerados por random() seja diferente em execuções subsequentes de um sketch, use randomSeed() para inicializar o gerador de números aleatórios com uma entrada significantemente aleatória, como analogRead() em um pino desconectado.

Por outro lado, pode ser ocasionalmente útil usar sequências pseudoaleatórias exatamente repetidas. Isso pode ser conseguido chamando-se randomSeed() com um número fixo, antes de começar a usar a sequência aleatória.

O parâmetro max deve ser escolhido de acordo com o tipo de dado da variável na qual o valor será guardado. De qulquer forma, o valor máximo absoluto é limitado pela natureza long (32 bit - 2,147,483,647) do valor gerado. Escolher um valor max maior que isso não irá gerar erros durante a compilação, mas durante a execução do sketch, os números gerados irão se comportar de forma impredizível.

Ver Também

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables .

※ OUR MESSAGES