Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

Arduino Random Number


May 15, 2021 Arduino


Table of contents


To generate random numbers, you can use the Arduino random number function. We have two functions:

  • randomSeed(seed)
  • random()

randomSeed(seed)

The randomSeed (seed) function resets Arduino's pseudo-random number generator. /b10> Although the distribution of the numbers returned by Random() is inherently random, the order is predictable. Y ou should reset the generator to a random value. /b12> If you have an unnected analog pin, it may pick up random noise from your surroundings. /b13> These may be radio waves, cosmic rays, electromagnetic interference from mobile phones, fluorescent lights, etc.

Example

randomSeed(analogRead(5)); // randomize using noise from analog pin 5

random()

The random function generates pseudo-random numbers. /b10> Here's the syntax.

random() syntax

long random(max) // it generate random numbers from 0 to max
long random(min, max) // it generate random numbers from min to max

Example

long randNumber;

void setup() {
   Serial.begin(9600);
   // if analog input pin 0 is unconnected, random analog
   // noise will cause the call to randomSeed() to generate
   // different seed numbers each time the sketch runs.
   // randomSeed() will then shuffle the random function.
   randomSeed(analogRead(0));
}

void loop() {
   // print a random number from 0 to 299
   Serial.print("random1=");
   randNumber = random(300);
   Serial.println(randNumber); // print a random number from 0to 299
   Serial.print("random2=");
   randNumber = random(10, 20);// print a random number from 10 to 19
   Serial.println (randNumber);
   delay(50);
}

Let's revisit our knowledge of some basic concepts, such as bits and bytes.

Bit (bit)

Bits are just binary numbers.

  • The binary system uses two numbers, 0 and 1.

  • Similar to a hedding digital system, the number of digits does not have the same value, and the "meaning" of a bit depends on its position in the binary number. /b10> For example, the numbers in the hedding number 666 are the same, but have different values.

Arduino Random Number

Bytes

A byte consists of eight bits.

  • If a bit is a number, logically bytes represent numbers.

  • You can perform all mathematical operations on them.

  • Numbers in a byte do not have the same meaning.

  • The far left bit has a maximum value called the most effective bit (MSB).

  • The far right bit has a minimum value and is therefore called the lowest valid bit (LSB).

  • Since eight 0s and 1s of a byte can be combined in 256 different ways, the maximum number of octals that can be represented by one byte is 255 (a combination represents zero).