入门基础

Arduino如何产生随机数

字号+ 作者:duino123.com 来源:未知 2016-05-09 21:31 我要评论( )

Arduino如何产生随机数

PLCLIVE.COM注:
某些应用中需要使用一些随机数,该如何产生呢?请继续看:

randomSeed(seed)

描述

randomSeed() 初始化随机数发生器,从而在任意点启动随机数的序列,这个序列虽然很长并且随机,但是过程是一致的。如果程序的后续运行对于random()产生的随机数序列差异性要求非常严格,那么请使用一个相对随机的输入来初始化randowmSeed()发生器,比如可以使用analogRead()来读取悬空的管脚。相反,有时候需要随机数序列重复,启动随机数序列之前可以使用一个固定的数来调用randomSeed()进行初始化。

参数

long int - 传递数据来产生随机数序列

返回

示例

long randNumber;

void setup(){
  Serial.begin(9600);
  randomSeed(analogRead(0));
}

void loop(){
  randNumber = random(300);
  Serial.println(randNumber);

  delay(50);
}




random()

描述

本函数生成随机数

语法

random(max)
random(min, max)

参数

min - 随机数最小值,随机数包括此值 (可选参数)

max - 随机数最大值,随机数不包括此值

返回

返回介于最小最大值之间的随机数(长整型), 最小值<=返回<最大值

提示

If it is important for a sequence of values generated by random() to differ, on subsequent executions of a sketch, use randomSeed() to initialize the random number generator with a fairly random input, such as analogRead() on an unconnected pin.

Conversely, it can occasionally be useful to use pseudo-random sequences that repeat exactly. This can be accomplished by calling randomSeed() with a fixed number, before starting the random sequence.
 

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
  randNumber = random(300);
  Serial.println(randNumber);  

  // print a random number from 10 to 19
  randNumber = random(10, 20);
  Serial.println(randNumber);

  delay(50);
}

如需更详细资料,如有好资源分享,请加入QQ交流群:214461008

欢迎阅读,欢迎转载,不用注明出处!本站只提供入门和进阶资料,做您学习的小伙伴!

老司机也欢迎光临指导!有好内容请加群:214461008 不要看声明了,看内容吧!

相关文章
  • Arduino中int和char之间的转换

    Arduino中int和char之间的转换

    2016-05-17 23:29

  • 如何使用Eclipse开发Arduino程序

    如何使用Eclipse开发Arduino程序

    2016-05-13 15:48

  • 通过串口命令Arduino控制8路继电器的实现

    通过串口命令Arduino控制8路继电器的实现

    2016-05-13 14:18

  • Arduino中Stream的应用

    Arduino中Stream的应用

    2016-05-09 22:36

网友点评