ocrobot:kit:arduino_star_kit:tutorial020
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
ocrobot:kit:arduino_star_kit:tutorial020 [2017/04/07 10:03] – 外部编辑 127.0.0.1 | ocrobot:kit:arduino_star_kit:tutorial020 [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ======获取随机数====== | ||
+ | 这个例程展示如何使用断开连接的A0端口ADC读数。 | ||
+ | |||
+ | 在对程序进行加密过程中,我们常常会用到随机数,怎样在OCROBOT控制板中获取随机数呢? | ||
+ | |||
+ | 获取随机数我们需要一个种子,这个种子我们可以使用断开连接的A0端口ADC读数。 | ||
+ | =====代码===== | ||
+ | 把A0端口的读数作为随机数种子,产生一个最大值不超过600的随机数。 | ||
+ | <code cpp> | ||
+ | long randNumber; | ||
+ | void setup(){ | ||
+ | Serial.begin(9600); | ||
+ | randomSeed(analogRead(A0)); | ||
+ | } | ||
+ | void loop(){ | ||
+ | | ||
+ | Serial.println(randNumber); | ||
+ | delay(200); | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | =====效果参考===== | ||
+ | {{: | ||
+ | {{youku> | ||
+ | |||
+ | =====代码===== | ||
+ | 产生的随机数除了可以限制最大值,还可以同时限制最小值。 | ||
+ | 每次首先输出一个最大值不超过300的随机数,然后输出一个10到19之间的随机数。 | ||
+ | <code cpp> | ||
+ | |||
+ | long randNumber; | ||
+ | void setup(){ | ||
+ | | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | |||
+ | // | ||
+ | randNumber = random(300); | ||
+ | Serial.println(randNumber); | ||
+ | // | ||
+ | randNumber = random(10, 20); | ||
+ | Serial.println(randNumber); | ||
+ | delay(200); | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | <WRAP center round tip 100%> | ||
+ | randomSeed(seed) | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | 参数: | ||
+ | | ||
+ | random(): | ||
+ | | ||
+ | | ||
+ | 语法: | ||
+ | | ||
+ | | ||
+ | 参数: | ||
+ | min – 随机数的最小值,随机数将包含此值。 (此参数可选) | ||
+ | max – 随机数的最大值,随机数不包含此值。 | ||
+ | 返回: | ||
+ | | ||
+ | 注意: | ||
+ | 如需要在一个random()序列上生成真正意义的随机数,在执行其子序列时使用randomSeed()函数预设一个绝对的随机输入,例如在一个断开引脚上的analogRead()函数的返回值。 | ||
+ | |||
+ | | ||
+ | </ | ||
+ | |||
+ | =====效果参考===== | ||
+ | {{: | ||
+ | {{youku> | ||
+ | |||
+ | [[ocrobot: |