怎样用Arduino使RGB随机闪烁不同的颜色

电子说

1.2w人已加入

描述

步骤1:获取所需的硬件

Arduino

需要的硬件

1-arduino

1-330ohm电阻器

1-共阴极或共阳极RGB LED

1-面包板

5-jumperwires

步骤2:将其连接(通用阴极)

Arduino

首先在Arduino的地面与rgb led的地面之间连接一个330ohm电阻。接下来,将红色引脚连接到引脚11,绿色引脚连接到引脚12,蓝色引脚连接到引脚13。然后转到步骤2,对Arduino进行编程。

步骤3:对Arduino(通用阴极)进行编程

Arduino

现在使用计算机打开Arduino软件。然后将您的Arduino连接到计算机。接下来,复制所有文本并将其粘贴在//之间。然后将程序上传到您的Arduino并尝试一下。

//

int ledcolor = 0;

int a = 1000;//设置

int red = 11;的一种颜色保持多长时间;//将红色的led引脚设置为

int green = 12;//将绿色的led引脚设置为

int blue = 13;////设置蓝色led引脚

void setup(){//设置输出引脚

pinMode(red,OUTPUT);

pinMode(green,OUTPUT);

pinMode(blue, OUTPUT);

}

void loop(){ int ledcolor = random(7);//这会随机选择一个介于0和6之间的数字

switch(ledcolor){

case 0://如果ledcolor等于0,则led会变成红色

analogWrite(red,204);

delay(a);

analogWrite(red,0);

break;

情况1://如果ledcolor等于1,则led将变为绿色

digitalWrite(green,HIGH);

delay(a);

digitalWrite(green,LOW);

break;

情况2://如果ledcolor等于2,则led将变为蓝色

digitalWrite(blue,HIGH);

delay(a);

digitalWrite(blue,LOW);

break;

情况3://如果ledcolor等于3,则led将变为黄色

analogWrite(red,160);

digitalWrite(绿色,高);

延迟(a);

analogWrite(红色,0);

digitalWrite(绿色,LOW);

中断;

情况4://如果ledcolor等于4,则led将变成青色

analogWrite(red,168);

digitalWrite(blue,HIGH);

delay(a);

analogWrite(red,0);

digitalWrite(blue,LOW);

break;

情况5://如果ledcolor等于5,则led将变为品红色

digitalWrite(green,HIGH);

digitalWrite(blue,HI) GH);

delay(a);

digitalWrite(green,LOW);

digitalWrite(blue,LOW);

break;

情况6://如果ledcolor等于6,则led会变成白色

analogWrite(红色,100);

digitalWrite(绿色,高);

digitalWrite(蓝色,高);

delay(a);

analogWrite(红色,0 );

digitalWrite(绿色,LOW);

digitalWrite(蓝色,LOW);

break;

}

}

//

第4步:连接(通用阳极)

Arduino

首先在Arduino的5v引脚和rgb led的正极引脚之间连接一个330ohm电阻。接下来,将红色引脚连接到引脚11,绿色引脚连接到引脚12,将蓝色引脚连接到引脚13。然后转到步骤5对Arduino进行编程。

步骤5:对Arduino(通用)进行编程阳极)

Arduino

现在使用计算机打开Arduino软件。然后将Arduino连接到计算机。接下来,复制所有文本并将其粘贴在//之间。然后将程序上载到Arduino并进行尝试。

//

int ledcolor = 0;

int a = 1000;//设置

int red = 11;的一种颜色保持多长时间;//将红色的led引脚设置为

int green = 12;//将绿色的led引脚设置为

int blue = 13;////设置蓝色led引脚

void setup(){//设置输出引脚

pinMode(red,OUTPUT);

pinMode(green,OUTPUT);

pinMode(blue, OUTPUT);

}

void loop(){ int ledcolor = random(7);//这会随机选择一个介于0到6之间的数字

switch(ledcolor){

case 0://如果ledcolor等于0,则led会变成红色

analogWrite(red,51);

delay(a);

analogWrite(red,255);

break;

情况1://如果ledcolor等于1,则led将变成绿色

digitalWrite(green,LOW);

》 delay(a);

digitalWrite(green,HIGH);

break;

情况2://如果ledcolor等于2,则led将变成蓝色

digitalWrite(blue,LOW);

delay(a);

digitalWrite(blue,HIGH);

break;

情况3://如果ledcolor等于3,则led将变为黄色

analogWrite(red,95);

digitalWrite(绿色,低);

延迟(a);

analogWrite(红色,255);

digitalWrite(绿色,高);

中断;

情况4://如果ledcolor等于4,则led将变成青色

analogWrite(red,168);

digitalWrite(blue,LOW);

delay(a);

analogWrite(red,255);

digitalWrite(blue,HIGH);

break;

情况5://如果ledcolor等于5,则led将变为品红色

digitalWrite(green,LOW);

digitalWrite(blue, LOW);

delay(a);

digitalWrite(green,HIGH);

digitalWrite(blue,HIGH);

break;

情况6://如果ledcolor等于6,则led将变成白色

analogWrite(红色,155);

digitalWrite(绿色,LOW);

digitalWrite(蓝色,LOW);

delay(a);

analogWrite(红色,255) );

digitalWrite(绿色,高);

digitalWrite(蓝色,高);

break;

}

}

//

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分