A randomSeed(analogRead(0)) in Arduino initializes the pseudo-random number generator that reads the random analog noise from an unconnected analog pin 0 and floats to relatively random values between 0 and 1023.
This shuffles the random() number generator each time you start the Arduino sketch.
In this note i will show the examples of how to generate random numbers and create random delays in Arduino using the randomSeed() and random() functions.
Cool Tip: Simulate keystrokes using the Arduino boards! Read more →
Random Numbers & Delay in Arduino
A simple example of how to generate random numbers in Arduino and print them to the serial console:
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop() {
// print a random number from 0 to 99
Serial.println(random(100));
// print a random number from 100 to 199
Serial.println(random(100, 200));
delay(1000);
}
Use the following code snippet in Arduino to print messages to the serial console with random delays:
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop() {
// print a message with a random delay from 0 to 1000 milliseconds
Serial.println("Ping!");
delay(random(1000));
// print a message with a random delay from 1000 to 60000 milliseconds
Serial.println("Pong!");
delay(random(1000; 60000));
}