Arduino-난수

난수를 생성하기 위해 Arduino 난수 함수를 사용할 수 있습니다. 두 가지 기능이 있습니다.

  • randomSeed(seed)
  • random()

randomSeed (시드)

randomSeed (seed) 함수는 Arduino의 의사 난수 생성기를 재설정합니다. random ()에 의해 반환 된 숫자의 분포는 본질적으로 무작위이지만 시퀀스는 예측 가능합니다. 생성기를 임의의 값으로 재설정해야합니다. 연결되지 않은 아날로그 핀이있는 경우 주변 환경에서 임의의 노이즈가 발생할 수 있습니다. 전파, 우주선, 휴대폰의 전자기 간섭, 형광등 등이 여기에 해당합니다.

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

랜덤 ()

랜덤 함수는 의사 난수를 생성합니다. 다음은 구문입니다.

random () 문 구문

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

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

이제 비트 및 바이트와 같은 일부 기본 개념에 대한 지식을 새로 고쳐 보겠습니다.

비트

비트는 이진수입니다.

  • 이진 시스템은 두 자리, 0과 1을 사용합니다.

  • 숫자의 자릿수가 같은 값을 갖지 않는 10 진수 시스템과 유사하게 비트의 '유의성'은 이진수에서의 위치에 따라 달라집니다. 예를 들어, 10 진수 666의 숫자는 동일하지만 값이 다릅니다.

바이트

바이트는 8 비트로 구성됩니다.

  • 비트가 숫자이면 바이트가 숫자를 나타내는 것이 논리적입니다.

  • 모든 수학적 연산을 수행 할 수 있습니다.

  • 바이트의 숫자도 동일한 의미를 갖지 않습니다.

  • 가장 왼쪽 비트에는 MSB (Most Significant Bit)라는 가장 큰 값이 있습니다.

  • 맨 오른쪽 비트는 최소값을 가지므로 LBS (Least Significant Bit)라고합니다.

  • 8 개의 0과 1 바이트의 1은 256 개의 다른 방식으로 결합 될 수 있으므로 1 바이트로 표현할 수있는 가장 큰 10 진수는 255입니다 (하나의 조합은 0을 나타냄).