在 arduino 中生成随机数
本教程将讨论使用 arduino 中的 random()
函数生成随机数。
在 arduino 中使用 random()
函数生成随机数
我们使用随机数生成器在给定的数字范围内生成随机数。例如,我们可以使用它来挑选获胜者作为赠品。
我们可以使用 random()
函数在 arduino 中生成随机数。
语法:
random(maxvlaue);
random(minvalue, maxvalue);
在代码的第一行,如果我们只传递范围的最大值,函数将使用零作为最小值。我们还可以使用 random()
函数的第一个和第二个参数来定义最小和最大范围。
范围的最小值是包含的,而最大值是排除的。例如,如果我们定义从 0 到 10 的范围,随机数序列将包含 0 而不是 10。
在使用 random()
函数之前,我们必须使用 randomseed()
函数对其进行初始化。我们必须在 randomseed()
函数中传递一个随机数的 long
数据类型来初始化随机数生成器。
假设我们想要随机数与前一个相同的数字序列。我们必须在 randomseed()
函数中传递相同的数字。
如果我们想要不同的数字序列,则每次初始化随机数生成器时都必须使用不同的数字。在这种情况下,我们可以使用 arduino 的任何模拟引脚。
当没有输入与模拟引脚连接时,该引脚将具有浮点值或随机值。我们可以使用 analogread()
函数读取该随机值。
例如,让我们使用 random()
生成 0 到 100 之间的随机数。
long myrnd;
void setup() {
serial.begin(9600);
randomseed(analogread(0));
}
void loop() {
myrnd = random(100);
serial.println(myrnd);
delay(500);
}
输出:
21
17
20
11
46
51
41
71
2
74
随机数将继续生成,因为我们将随机数生成器放置在 loop()
函数中。如果我们想生成特定次数的随机数,我们可以在 setup()
函数中使用一个循环,它只运行一次。
我们在 random()
函数中定义的范围值可以是 32 位的。如果使用更大的值,函数不会出错,但结果会与预期不同。
如果我们在 randomseed()
函数中使用像 1
这样的相同数字并重新启动代码,随机数序列将是相同的。
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
arduino 复位
发布时间:2024/03/13 浏览次数:315 分类:c
-
可以通过使用复位按钮,softwarereset 库和 adafruit sleepydog 库来复位 arduino。
发布时间:2024/03/13 浏览次数:181 分类:c
-
可以使用简单的方法 toint()函数和 serial.parseint()函数将 char 转换为 int。
发布时间:2024/03/13 浏览次数:151 分类:c
-
可以使用 arduino 中的循环制作计数器。