要生成随机数,可以使用Arduino随机数函数。 我们有两个功能 -
- randomSeed(seed)
- random()
randomSeed(seed)
函数randomSeed(seed)重置Arduino的伪随机数生成器。 虽然random()返回的数字的分布基本上是随机的,但是序列是可预测的。 您应该将发电机重置为某个随机值。 如果您有一个未连接的模拟引脚,它可能会拾取来自周围环境的随机噪声。 这些可以是无线电波,宇宙射线,来自蜂窝电话的电磁干扰,荧光灯等。
例子
- randomSeed(analogRead(5)); // randomize using noise from analog pin 5
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中的数字相同,但具有不同的值。

字节
一个字节由8位组成。
-
如果一个位是一个数字,逻辑上字节表示数字。
-
可以对它们执行所有数学运算。
-
一个字节中的数字也不具有相同的含义。
-
最左边的位具有被称为最高有效位(MSB)的最大值。
-
最右边的位具有最小值,因此称为最低有效位(LSB)。
-
由于可以以256种不同的方式组合一个字节的八个零和一个,所以可以由一个字节表示的最大十进制数是255(一个组合表示零)。
转载本站内容时,请务必注明来自W3xue,违者必究。