Arduino进阶03.Arduino 随机数

要生成随机数,可以使用Arduino随机数函数。我们有两个函数:

  • randomSeed(seed)
  • random()

randomSeed(seed)

randomSeed(seed)函数重置Arduino的伪随机数生成器。虽然random()返回的数字的分布本质上是随机的,但是顺序是可预测的。你应该将发生器重置为某个随机值。如果你有一个未连接的模拟引脚,它可能会从周围环境中拾取随机噪音。这些可能是无线电波,宇宙射线,手机的电磁干扰,荧光灯等。

例子

randomSeed(analogRead(5)); // randomize using noise from analog pin 5

random()

random函数生成伪随机数。以下是语法。

random()语法

long random(max) // it generate random numbers from 0 to max
long random(min, max) // it generate random numbers from min to max

例子

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
   Serial.print("random1=");
   randNumber = random(300);
   Serial.println(randNumber); // print a random number from 0to 299
   Serial.print("random2=");
   randNumber = random(10, 20);// print a random number from 10 to 19
   Serial.println (randNumber);
   delay(50);
}

让我们现在重温我们对一些基本概念的知识,例如位和字节。

Bit(位)

位只是一个二进制数字。

  • 二进制系统使用两个数字,0和1。
  • 与十进制数字系统类似,数字的位数不具有相同的值,位的“意义”取决于其在二进制数中的位置。例如,十进制数666中的数字相同,但具有不同的值。
Bits

字节

一个字节由8位组成。

由于可以以256种不同的方式组合一个字节的八个0和1,所以可以由一个字节表示的最大十进制数是255(一个组合表示零)。

如果一个位是一个数字,逻辑上字节表示数字。

可以对它们执行所有数学运算。

一个字节中的数字也不具有相同的意义。

最左边的位具有被称为最高有效位(MSB)的最大值。

最右边的位具有最小值,因此称为最低有效位(LSB)。

发布者:suiyublg,转转请注明出处:https://huibian.net/1303-2/

(60977)
suiyublg的头像suiyublg
上一篇 2017年4月6日 15:51
下一篇 2017年4月8日 23:43

相关推荐

  • Arduino传感器06.Arduino 连接开关

    按钮或开关连接电路中的两个开路端子。当按下连接到引脚8的按钮开关时,此示例打开引脚2上的LED。 下拉电阻 在电子逻辑电路中使用下拉电阻,以确保在外部器件断开连接或处于高阻抗状态时,Arduino的输入信号达到预期的逻辑电平。虽然没有任何东西连接到输入引脚,但这并不意味着它是一个逻辑0。下拉电阻连接在地面和器件上相应的引脚之间。 下图显示了数字电路中下拉电阻…

    2017年4月25日
    1.0K00
  • Arduino教程08.Arduino 控制语句

    判断结构要求程序员指定要由程序评估或测试的一个或多个条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。 以下是大多数编程语言中典型的判断结构的一般形式: 控制语句是源代码中控制程序执行流程的元素。它们是: 序号 控制语句和描述 1 If 语句它采用括号中的表达式,后面跟随语句或语句块。如果表达式为真,则执行语句或语句块,否则跳过这…

    2017年3月25日
    60802
  • Arduino教程28.Arduino 嵌套循环

    C语言允许你在另一个循环内使用一个循环。下面的例子说明了这个概念。 嵌套循环语句语法 for ( initialize ;control; increment or decrement) { // statement block for ( initialize ;control; increment or decrement) { // statement…

    2017年3月25日
    61600
  • Arduino函数库01.Arduino I/O函数

    Arduino板上的引脚可以配置为输入或输出。我们将在这些模式下解释引脚的功能。重要的是要注意,大多数Arduino模拟引脚可以按照与数字引脚完全相同的方式进行配置和使用。 引脚配置为INPUT Arduino引脚默认配置为输入,因此在使用它们作为输入时,不需要使用 pinMode()显式声明为输入。以这种方式配置的引脚被称为处于高阻抗状态。输入引…

    2017年3月31日
    92321
  • Arduino教程24.Arduino 条件运算符? :

    条件运算符 ? : 是C语言中唯一的三元运算符。 ? :条件运算符语法 expression1 ? expression2 : expression3 首先评估expression1。如果其值为true,那么将评估expression2,并忽略expression3。如果expression1评估为false,则将评估expression…

    2017年3月24日
    53100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(13条)

  • Mr. W的头像
    Mr. W 2017年11月7日 12:23

    123

    • Mr. W的头像
      Mr. W 2017年11月9日 09:44

      @Mr. W123123

    • Mr. W的头像
      Mr. W 2017年11月9日 09:44

      @Mr. W123123444444

    • Mr. W的头像
      Mr. W 2017年11月9日 09:44

      @Mr. Whhhh

    • Mr. W的头像
      Mr. W 2017年11月9日 09:45

      @Mr. Wjjjjjjjjj

    • Mr. W的头像
      Mr. W 2017年11月9日 09:45

      @Mr. Wfffffsfddfd

    • Mr. W的头像
      Mr. W 2017年11月9日 09:46

      @Mr. W999999

    • Mr. W的头像
      Mr. W 2017年11月9日 09:45

      @Mr. Weqwrffdsfdsafdsfdssfdsfd

    • Mr. W的头像
      Mr. W 2017年11月9日 09:46

      @Mr. W666666

  • Mr. W的头像
    Mr. W 2017年11月9日 09:44

    ffff

  • hony的头像
    hony 2017年11月29日 22:10

    我看看

  • ♔悠雨的头像
    ♔悠雨 2017年12月15日 09:39

    j

  • ♔悠雨的头像
    ♔悠雨 2017年12月15日 09:40

    alert(0)

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
欢迎大家来到大雄学编程!