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을 나타냄).