[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
实验现象
使用Arduino驱动RGB三基色LED灯产生七色光的变化。
理论学习
三基色组合七色光原理:
红+绿=黄 绿+蓝=青 红+蓝=紫 红+绿+蓝=白
可以由3种基色组合出来“红黄绿青蓝紫白”
明白了三基色的组合就很容易的去编写这个例程了。我们想让哪个颜色LED点亮就把对应控制引脚的IO设置为LOW就可以了。
图1 三色Led引脚
实验准备
arduino主板-1
面包板-1
数据线-1
三色Led灯-1
跳线若干
连接电路
实验代码
int led1=9; int led2=10; int led3=11; void setup() { pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT); pinMode(led3,OUTPUT); } void setColor(int red,int
green,int blue) { analogWrite(led1,255-red); analogWrite(led2,255-green);
analogWrite(led3,255-blue); } void loop() { setColor(255,0,0); //Red delay(100);
setColor(0,255,0); //Green delay(100); setColor(0,0,255); //blue delay(100);
setColor(255,255,0); //Yellow delay(100); setColor(0,255,255); //Light Green
delay(100); setColor(255,0,255); //Purple delay(100); setColor(255,255,255);
//White delay(100); }
实现效果