最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

arduino从零开始(13)认识随机数

Arduino 少儿编程 1874浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

arduino从零开始(13)认识随机数

arduino从零开始

你将学到什么

1、 你将学到如何产生随机数

arduino从零开始(13)认识随机数

随机数

在程序中能够产生随机数是非常有用的,在游戏或制作一些效果的过程中。

Arduino 自身没有办法选择一个纯粹的随机数,我们要给他提供一个随机的种子(一个随机的开始数)。

Arduino中最常用作随机种子是通过读取悬空模拟针脚值(没有接电子元件)来完成的,因为环境中的静电会在模拟针脚上产生随机的电压,所以悬空的模拟针脚读到的值是随机的。

Arduino中提供随机种子的函数是randomSeed()放在setup()函数中。

产生随机数的函数是random(lower,upper);其中upper是取不到的。

例如下面是产生一个1到10之间的随机数:

arduino从零开始(13)认识随机数

产生随机数

如果要取0到某个值之间的随机数,则第一个参数可以省略,所以上面例子中,random(0,11)可以写成random(11);

项目案例

        模拟电子骰子,让arduino随机产生1到6之间的数字,然后让板载LED闪烁对应的次数,每次按重置按钮产生一个随机数。


arduino从零开始(13)认识随机数

无限循环

arduino从零开始(13)认识随机数

函数


文字代码如下:

void setup() {

// put your setup code here, to run once:

    randomSeed(analogRead(A0));

    pinMode(13,OUTPUT);

}


void loop() {

// put your main code here, to run repeatedly:

    int r= random(1,7);

    randomNumber(r);

while(1)

  {}

}


void randomNumber(int num)

{

    digitalWrite(13,HIGH);

    delay(2000);

    digitalWrite(13,LOW);

    delay(2000);

for(int i=0;i<num;i++)

  {

    blinkLed(13,500);

  }

}

void blinkLed(int pin,int delay_time)

{

    digitalWrite(pin,HIGH);

    delay(delay_time);

    digitalWrite(pin,LOW);

    delay(delay_time);

}


您必须 登录 才能发表评论!