randomSeed()

설명

randomSeed() 의사 난수 생성기를 초기화하여 임의 시퀀스의 임의 지점에서 시작되도록 합니다. 이 시퀀스는 매우 길고 무작위 적이지만 항상 동일합니다. 그래서 random() 함수를 이용해서 예측 가능하고 다음에도 반복이 가능한 유사 난수를 생성할 수 있습니다.

random()에 의해 생성된 일련의 값이 서로 다른 것이 중요할 경우, randomSeed() 함수의 매개 값으로 선이 연결되지 않은 핀의 analogRead() 값을 넘기면 상당히 그럴싸한 임의의 값을 설정할 수 있습니다.

반대로 정확하게 반복되는 의사 난수 시퀀스를 사용하는 것이 때때로 유용할 수 있습니다. 이는 임의 시퀀스를 시작하기 전에 고정된 숫자로 randomSeed()를 호출하여 수행할 수 있습니다.

문법

randomSeed(seed)

매개변수

  • seed: 의사 난수 시퀀스를 초기화하는 숫자. 허용되는 데이터 유형 : unsigned long.

반환값

  • 없음

예제 코드

이 코드는 의사 난수를 생성하고 생성된 번호를 직렬 포트로 보냅니다.

long randNumber; //랜덤 값을 저장할 long 타입 변수 선언 void setup() { Serial.begin(9600); //랜덤 값을 씨리얼모니터로 확인하기위해 씨리얼통신을 시작하는 함수 randomSeed(analogRead(0)); //randomSeed의 매개변수로 0번 채널(A0번 핀)에서 읽은 아날로그 값을 전달 } void loop() { randNumber = random(300); //randNumber 변수에 0 ~ 299 값 중 랜덤한 값을 저장 Serial.println(randNumber); //randNumber 변수의 값을 씨리얼모니터에 한 줄로 출력 delay(50); //0.05초 지연 후 다음 루프 실행 }

더보기

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.