0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:wv 2019-09-23 11:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:获取所需的硬件

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

需要的硬件

1-arduino

1-330ohm电阻器

1-共阴极或共阳极RGB LED

1-面包板

5-jumperwires

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

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

步骤3:对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的5v引脚和rgb led的正极引脚之间连接一个330ohm电阻。接下来,将红色引脚连接到引脚11,绿色引脚连接到引脚12,将蓝色引脚连接到引脚13。然后转到步骤5对Arduino进行编程。

步骤5:对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;

}

}

//

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

    关注

    4

    文章

    820

    浏览量

    61518
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195959
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    WEMOS D1 R32 Arduino IDE 点灯程序 及搭建

    https://v.kuaishou.com/J43p6seX D1 R32 "Arduino IDE "闪烁 该作品在快手被播放过1次,点击链接,打开【快手】直接观看!
    的头像 发表于 10-27 14:51 233次阅读

    N9H20如何将颜色格式从 RGB565 更改为 RGB888?

    N9H20如何将颜色格式从 RGB565 更改为 RGB888?
    发表于 09-05 06:06

    嵌入式接口通识知识之RGB接口

    、绿、蓝三种颜色的信号,来实现彩色图像的显示。每一种颜色信号都独立地控制了显示设备上对应颜色的亮度和色彩深度。它可以通过不同的传输方式实现,包括模拟RGB和数字
    发表于 08-29 15:54

    随机数和伪随机数的区别

    随机数在当前程序运行环境中是一种常用参数,目前主要分为两种,伪随机数和真随机数,本期我们就来讲一下二者的区别。
    的头像 发表于 08-27 17:46 1834次阅读

    touchgfx4.25颜色错误是什么原因导致的?

    touchgfx4.25颜色错误 .紫色显示成了蓝色. 使用rgb888或者rgb565模式都试过结果一样.后方的红绿蓝紫是svg图片.非box控件的颜色.
    发表于 08-14 06:21

    凡亿Allegro Skill辅助功能之颜色方案

    在使用Allegro软件时,为不同功能的层和对象设置不同颜色是一种高效的设计策略。这种颜色区分不仅能让工程师快速识别和定位关键部分,加速设计过程,还能促进团队成员之间的沟通,使设计意图更加清晰。
    的头像 发表于 08-13 16:11 5163次阅读
    凡亿Allegro Skill辅助功能之<b class='flag-5'>颜色</b>方案

    STM32N6的DCMIPP能直接把接收到的YUV422数据转化成RGB565吗?

    ,PixelPackerFormat设置为RGB565_1 PIPE1最终传出数据PIPE1最终传出图像 看起来YUV的颜色数据是正确的,为什么换成RGB输出后图像颜色变化了? 4、关
    发表于 08-01 08:06

    请问v9版本的lvgl不能创建颜色为24bit的RGB888吗?

    v9版本的lvgl不能创建颜色为24bit的RGB888吗?
    发表于 03-21 07:47

    PCBA板的颜色密码:选美大赛还是实用主义?

    同关于颜色下深藏这怎样的故事吧。 这些色彩斑斓的"外衣"其实是阻焊层涂料,就像电路板的防晒霜,主要作用是保护铜箔不被氧化。常见颜色里,绿色占全球80%的产量,不是因为它最漂亮,而是这种松香树脂材料最便宜——在广东工厂里,绿
    的头像 发表于 02-28 08:53 856次阅读

    DLP4500-C350REF在发送获取光机的RGB颜色命令,返回的是不正确的数值,为什么?

    大家好,我有几个问题想问一下,谢谢大家赐教 1:为什么在发送获取光机的RGB 颜色命令,返回的是不正确的数值,再次发送该命令才能得到正确的值(就是连续发送2次获取RGB的命令才能获取正确的值
    发表于 02-21 07:05

    DLPDLCR4710EVM-G2如何实现单通道无闪烁地图像输出?

    想要用DLPDLCR4710EVM-G2实现单通道投影,虽然在GUI程序里可以控制RGB三色LED的开关,只点亮其中一路LED,但是输出图像相机拍摄会有闪烁,特别是将曝光率调小后闪烁
    发表于 02-20 08:05

    关于cypress 3014输出rgb24图像

    使用的是cypress 3014,输出yuy2的时候图像都正常的,但我修改为rgb24输出,图像是颠倒的,关于我的demo板,7611只是调试了颜色寄存器,fpga保证是rgb24,3014也是只
    发表于 01-23 15:08

    想用TFP401用来做HDMI转换RGB给投影光机头,是否可行?

    急啊,想用TFP401用来做HDMI转换RGB给投影光机头,但是我们的光机头RGB输入只支持DE模式,也就是没有行场频信号的那种接口,问下这颗IC是否能支持没有HSYNC和VSY
    发表于 01-07 08:32

    如何选择PCB颜色

    一、PCB颜色代表什么意思?   PCB颜色一般是指拿到一块PCB板时最直观看到的板子上的油色,PCB表面的颜色就是阻焊剂的颜色。PCB板染色颜料是一种硬化树脂,主体树脂是无色近透明的
    的头像 发表于 12-24 11:33 1608次阅读

    如何用SS1系列颜色传感器示教多通道颜色

    基于白色LED光源的特性,深视智能SS1系列颜色传感器突破了传统单色RGB、融合光RGB的波长限制,将发射波长的范围覆盖到整个可见光谱,最大支持检测16种颜色。那么,我们如何利用SS1
    的头像 发表于 12-23 08:17 1063次阅读
    如何用SS1系列<b class='flag-5'>颜色</b>传感器示教多通道<b class='flag-5'>颜色</b>?