通过R
、G
、B
三个引脚的PWM
电压输入可以调节三种基色(红/蓝/绿)的强度从而实现全彩的混色效果。用Arduino程序控制可实现酷炫的灯光效果。
# 部署
- RGB发光二极管的
R
端子连接到OSEPP UNO的3
号引脚。 - RGB发光二极管的
G
端子连接到OSEPP UNO的5
号引脚 - RGB发光二极管的
B
端子连接到OSEPP UNO的6
号引脚。
# 程序搭建
- oseppBlock 积木知识
RGB发光二极管的定义积木。
定义名称和连接引脚。
设置RGB发光二极管的颜色积木。通过滑块调节,可以设置颜色,饱和度和亮度。
设置RGB发光二极管颜色积木。通过输入三种颜色的的数值来调节改变颜色,数值范围是0-255
。此积木要放入上面积木颜色框里面。
- oseppBlock程序
拖动滑块RGB发光二极管就会显示和积木里面一致的颜色。
下面有一个颜色显示数据表,可以在程序里面输入数字来控制颜色。利用Arduino来控制输出需要的颜色。
把RGB颜色积木换成自定义数值的积木
- oseppBlock程序
- Arduino程序
void setup()
{
//rgb1
pinMode(3, OUTPUT); //定义3号引脚为输出模式
pinMode(5, OUTPUT); //定义5号引脚为输出模式
pinMode(6, OUTPUT); //定义6号引脚为输出模式
}
void loop()
{
analogWrite(3, 255); //3号引脚输出红色全亮
analogWrite(5, 0); //5号引脚输出绿色0
analogWrite(6, 0); //6号引脚输出蓝色0
}
2
3
4
5
6
7
8
9
10
11
12
13
14
表格里面给了RGB三个通道的数值,我们只要照着填上去,就可以能看RGB发光二极管显示出表格里的颜色。
只要给RGB三个颜色输入不同的数值,RGB发光二极管就能显示不同的颜色。那我们把这个数值改成随机数,RGB发光二极管就能随机显示颜色。
- oseppBlock程序
- Arduino程序
int R = 0; //定义整型变量R
int G = 0; //定义整型变量G
int B = 0; //定义整型变量B
void setup()
{
//rgb1
pinMode(3, OUTPUT); //定义3号引脚为输出模式
pinMode(5, OUTPUT); //定义5号引脚为输出模式
pinMode(6, OUTPUT); //定义6号引脚为输出模式
}
void loop()
{
R = random(0, 256); //R等于0-256之间的随机数
G = random(0, 256); //G等于0-256之间的随机数
B = random(0, 256); //B等于0-256之间的随机数
analogWrite(3, R); //3号引脚输出R的随机数
analogWrite(5, G); //3号引脚输出G的随机数
analogWrite(6, B); //3号引脚输出B的随机数
delay(500); //延时500毫秒
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 运行结果
把程序传上osepp UNO后,RGB发光二极管就会随机变换颜色。每隔0.5秒换一次颜色,你可以更改这个延时数值,数值越小变化越快。
# 解析
- 整型变量:
int
整型变量(int
)是变量里的一种,它可以用来存储-32768~+32767
之间的数字。在Arduino中,整型(int
)是最常用的变量类型。变量就是告诉程序,这个值类型的和范围。
定义变量的类型名称和初始值积木。有整型变量,长整型变量,无符号整型变量,无符号长整型变量,字符变量,字节变量和浮点变量。
变量名称为 i
的值的积木。
改变变量值的积木,可以进行数学运算。
- 随机函数:
random()
随机函数 random(min, max)
,就是生成一个随机的数值。
参数
min
: 产生随机数的下限(包含此数值)
max
: 产生随机数的上限(不包含此数值)
返回值
在最小值min
和最大值max-1
之间的随机数值
← RGB三色灯-电位器控制 扬声器-发出声音 →