迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

在 Arduino 中生成随机数

作者:迹忆客 最近更新:2024/03/13 浏览次数:

本教程将讨论使用 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 浏览次数:166 分类:C++

可以使用 exit(0),无限循环和 Sleep_n0m1 库在 Arduino 中停止循环。

Arduino 复位

发布时间:2024/03/13 浏览次数:165 分类:C++

可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。

Arduino 的字符转换为整型

发布时间:2024/03/13 浏览次数:116 分类:C++

可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。

Arduino 串口打印多个变量

发布时间:2024/03/13 浏览次数:166 分类:C++

可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。

Arduino if 语句

发布时间:2024/03/13 浏览次数:82 分类:C++

可以使用 if 语句检查 Arduino 中的不同条件。

Arduino ICSP

发布时间:2024/03/13 浏览次数:184 分类:C++

ICSP 引脚用于两个 Arduino 之间的通信以及对 Arduino 引导加载程序进行编程。

使用 C++ 编程 Arduino

发布时间:2024/03/13 浏览次数:100 分类:C++

本教程将讨论使用 Arduino IDE 在 C++ 中对 Arduino 进行编程。

Arduino 中的子程序

发布时间:2024/03/13 浏览次数:69 分类:C++

可以通过在 Arduino 中声明函数来处理子程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便