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教程32.Arduino millis()函数

    此函数用于返回Arduino板开始运行当前程序时的毫秒数。这个数字在大约50天后溢出,即回到零。 millis()函数语法 millis () ; 此函数从程序开始处返回毫秒。 例子 unsigned long time; void setup() { Serial.begin(9600); } void loop() { Serial.print(“Tim…

    2017年3月29日
    67000
  • Arduino电机控制01.Arduino 直流电机

    在本章中,我们将使用Arduino板(UNO)连接不同类型的电机,并向你展示如何连接电机并从电路板上驱动它。 有三种不同类型的电机: 直流电机(DC—Direct Current motor)是最常见的电机类型。直流电动机通常只有两个引线,一个正极和一个负极。如果将这两根引线直接连接到电池,电机将旋转。如果切换引线,电机将以相反的方向旋转…

    2017年4月26日
    1.6K00
  • Arduino传感器06.Arduino 连接开关

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

    2017年4月25日
    1.2K00
  • Arduino进阶01.Arduino Due 和 Zero

    Arduino Due是基于Atmel SAM3X8E ARM Cortex-M3 CPU的微控制器板。它是第一款基于32位ARM内核微控制器的Arduino板。

    2017年4月5日
    71902
  • Arduino电机控制02.Arduino 伺服电机

    伺服电机是一种有输出轴的小型设备。通过向伺服发送编码信号,可以将该轴定位到特定的角度位置。只要编码信号存在于输入线上,伺服将保持轴的角位置。如果编码信号改变,则轴的角位置改变。实际上,伺服用于无线电控制的飞机中来定位控制面,如升降舵和方向舵。它们还用于无线电控制的汽车,木偶,当然还有机器人。 伺服在机器人中非常有用。电机体积小,内置控制电路,相对于它们尺寸来…

    2017年4月27日
    1.3K00

发表回复

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

评论列表(13条)

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

    123

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

      @Mr. W:123123

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

      @Mr. W:123123444444

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

      @Mr. W:hhhh

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

      @Mr. W:jjjjjjjjj

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

      @Mr. W:fffffsfddfd

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

      @Mr. W:999999

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

      @Mr. W:eqwrffdsfdsafdsfdssfdsfd

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

      @Mr. W:666666

  • 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,节假日休息

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