- Arduino 教程
- 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 和 Zero
- Arduino - 脉宽调制 (PWM)
- Arduino - 随机数
- Arduino - 中断
- Arduino - 通信
- Arduino - 集成电路间通信 (I2C)
- Arduino - 串行外围接口 (SPI)
- Arduino 项目
- Arduino - 闪烁 LED
- Arduino - 渐变 LED
- Arduino - 读取模拟电压
- Arduino - LED 条形图
- Arduino - 键盘注销
- Arduino - 键盘消息
- Arduino - 鼠标按钮控制
- Arduino - 键盘串口
- Arduino 传感器
- Arduino - 湿度传感器
- Arduino - 温度传感器
- Arduino - 水位检测器/传感器
- Arduino - PIR 传感器
- Arduino - 超声波传感器
- Arduino - 连接开关
- 电机控制
- Arduino - 直流电机
- 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); }
现在让我们回顾一下一些基本概念,例如位和字节。
位
位只是一个二进制数字。
二进制系统使用两个数字,0 和 1。
类似于十进制数系统,其中一个数字的数字不具有相同的值,“位”的“意义”取决于其在二进制数中的位置。例如,十进制数 666 中的数字相同,但值不同。
字节
一个字节由八位组成。
如果位是数字,那么字节代表数字是合乎逻辑的。
所有数学运算都可以对它们执行。
字节中的数字也没有相同的意义。
最左边的位具有最大的值,称为最高有效位 (MSB)。
最右边的位具有最小值,因此称为最低有效位 (LSB)。
由于一个字节的八个零和一可以以 256 种不同的方式组合,因此一个字节可以表示的最大十进制数是 255(一种组合表示零)。
广告