首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何随机选择Arduino管脚输出?

如何随机选择Arduino管脚输出?
EN

Stack Overflow用户
提问于 2012-12-31 22:27:41
回答 1查看 1.8K关注 0票数 0

我有一系列的八个LED,我试图从开始随机淡入和淡出。这就是我到目前为止所在的地方。

代码语言:javascript
复制
#define LED1 2
#define LED2 3
#define LED3 4
#define LED4 5
#define LED5 6
#define LED6 7
#define LED7 8
#define LED8 9

void setup() {
pinMode(LED1,output);
pinMode(LED2,output);
pinMode(LED3,output);
pinMode(LED4,output);
pinMode(LED5,output);
pinMode(LED6,output);
pinMode(LED7,output);
pinMode(LED8,output);
}

    void cycleLED() {
        timeOn = random(600,1800);
        timeOff = random(600,1800);
        for (fadeOut = 255; fadeOut > 0; fadeOut--) { 
            analogWrite(LED, fadeout);
            delay(timeOff); 
        }

        for (fadeIn = 0;fadeIn < 255; fadeIn++) { 
            analogWrite(LED,fadeIn);      
            delay(timeOn); 
        }
    }

这就是我被卡住的地方。我想做一些与下面的伪代码类似的事情。

代码语言:javascript
复制
activeLED = random(2,10);             // choose a random LED pin
LEDtoCycle = pinNumber-activeLED;     // set the active LED to the random LED pin 
cycleLED(pinNumber-activeLED);        // run cycleLED on the active LED

我的意图是随机选择一个发光二极管,然后在该发光二极管上运行cycleLED,无限重复。然而,通过随机选择,我很难想出一个好的方法来做这件事。如何将引脚变量传递给cycleLED()?或者我应该重复#define一个单独的随机发光二极管?或者我应该硬编码cycleLED1()cycleLED2()cycleLED3()等的8个独立实例。

提示或建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-31 22:39:13

可以让cycleLED函数接受一个参数,如下所示:

代码语言:javascript
复制
void cycleLED(int led)

然后只需在你的analogWrite调用中使用led变量来代替你现在所拥有的神秘的LED。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14102748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档