×

Arduino 教程

Arduino 概述Arduino 板的说明Arduino 安装Arduino 程序结构Arduino 数据类型Arduino 变量和常量Arduino 运算符Arduino 控制语句Arduino 循环Arduino 函数Arduino 字符串Arduino 字符串对象Arduino 时间函数Arduino 数组

Arduino 函数库

Arduino I/O函数Arduino 高级I/O函数Arduino 字符函数Arduino 数学库Arduino 三角函数

Arduino 进阶

Arduino Due 和 ZeroArduino 脉冲宽度调制Arduino 随机数Arduino 中断Arduino 通信Arduino 内部集成电路Arduino 串行外设接口

Arduino 项目

Arduino 闪烁LEDArduino 渐变LEDArduino 读取模拟电压Arduino LED条形图Arduino 键盘注销Arduino 键盘消息Arduino 鼠标按钮控制Arduino 键盘串口

Arduino传感器

Arduino 湿度传感器Arduino 温度传感器Arduino 水位检测器/传感器Arduino PIR传感器Arduino 超声波传感器Arduino 连接开关

Arduino 电机控制

Arduino 直流电机Arduino 伺服电机Arduino 步进电机

Arduino 声音

Arduino 音调库Arduino 无线通信Arduino 网络通信

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位组成。

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

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

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

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

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

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



分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)