一.计算机如何表示颜色
在日常生活中人类是可以辨别不同颜色的,那么到底为什么会有不同的颜色呢?计算机为什么可以用数字来表示颜色呢?
1.物体显示颜色的原因:
光谱物体的颜色取决于它发射或反射的光线,而光线具有不同的波长,不同波长的光线就具有不同的颜色,下图就是光的波长和颜色的关系,我们称之为光谱,是不是像彩虹?
2.人类为什么可以看到不同的颜色?
三基色人类能感知颜色,是因为人类的眼睛具有特殊的细胞称之为视锥细胞,我们具有三种视锥细胞,分别检测红色、蓝色、绿色。因此,我们看到的任何一种颜色其实都是这三种颜色合成的,我们称之为三基色。
光的三基色:红色、蓝色、绿色
通过上图可以看出:如果三种颜色都没有,就显示黑色,但三种颜色都有就显示白色,当红色和绿色合在一起就是黄色。你可以通过调整三基色的强度合成任何一种颜色。
3.计算机表示颜色的方法
- 计算机将所有的东西都存储为0和1,这些0和1通常被组织成8个称为字节的集合。一个字节表示0到255之间任意值。
- 当我们想要在计算机程序中表现一种颜色时,我们可以通过定义构成该颜色的红色,蓝色和绿色的值来实现这一点。这些值通常存储为一个字节,取值范围为0到255。
二.什么是模拟信号?
- 数字信号是以0、1表示的电平不连续变化的信号。
- 模拟信号则是用连续变化的物理量来表示信息的,信号随着时间连续变化。在我们生活中接触到的大多数都是模拟信号,例如声音、光照、温度的变化等。
在我们的Uno R3开发板上,第3、5、6、9、10、11引脚具有PWM(Pulse Width Modulation脉冲宽度调制)功能。可以将数字信号转变为模拟信号。
三.LED的种类
LED灯珠 LED灯带三基色LED
RGB三色灯就是由内部三个不同颜色的灯珠组成的一个灯。RGB灯分为共阴和共阳两种。我们通过控制三个灯两端的电压值可以控制灯的发光亮度,然后组合,让RGB灯发出不同颜色的光。
共阴极RGB LED,四个引脚中最长的那个为阴极(负极)。其他三个分别为,红灯(R),蓝灯(B),绿灯(G)的阳极(负极)。如下图所示:
共阴极RGB LED- 共阳极RGB LED,四个引脚中最长的为阳极(正极)。其他三分别为,红灯(R),蓝灯(B),绿灯(G)的阴极(负极)。如下图所示: 共阳极RGB LED
四.制作呼吸灯
1.准备器材
名称 | 实物图 | 数量 |
---|---|---|
主控板 | 1 | |
面包板 | 1 | |
RGB LED | 1 | |
220欧姆电阻 | 1 | |
导线 | 若干 |
2.画电路图
呼吸灯电路图3.连接实物图
实物连接图4.程序设计
注意:我们使用的是共阴极RGB LED |
---|
1.先找出红灯 |
2.找出哪个数字最亮哪个数字最暗 |
3.让红灯和绿灯一起亮 |
4.让红灯从亮到暗再到亮 |
5.如何让三个灯按照红绿蓝的效果依次展现亮灭的效果 |
模块代码展示:
程序设计
英文代码展示:
void setup(){
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
}
void loop(){
for (int i = 0; i <= 255; i = i + (1)) {
analogWrite(11,i);
delay(100);
}
for (int i = 255; i >= 0; i = i + (-1)) {
analogWrite(11,i);
delay(100);
}
for (int i = 0; i <= 255; i = i + (1)) {
analogWrite(10,i);
delay(100);
}
for (int i = 255; i >= 0; i = i + (-1)) {
analogWrite(10,i);
delay(100);
}
for (int i = 0; i <= 255; i = i + (1)) {
analogWrite(9,i);
delay(100);
}
for (int i = 255; i >= 0; i = i + (-1)) {
analogWrite(9,i);
delay(100);
}
}
网友评论