Arduino--菜鸟之家

第二课.会呼吸的灯

2019-07-31  本文已影响45人  MT521

一.计算机如何表示颜色

在日常生活中人类是可以辨别不同颜色的,那么到底为什么会有不同的颜色呢?计算机为什么可以用数字来表示颜色呢?

1.物体显示颜色的原因:

物体的颜色取决于它发射或反射的光线,而光线具有不同的波长,不同波长的光线就具有不同的颜色,下图就是光的波长和颜色的关系,我们称之为光谱,是不是像彩虹?

光谱

2.人类为什么可以看到不同的颜色?

人类能感知颜色,是因为人类的眼睛具有特殊的细胞称之为视锥细胞,我们具有三种视锥细胞,分别检测红色、蓝色、绿色。因此,我们看到的任何一种颜色其实都是这三种颜色合成的,我们称之为三基色。

三基色
光的三基色:红色、蓝色、绿色
通过上图可以看出:如果三种颜色都没有,就显示黑色,但三种颜色都有就显示白色,当红色和绿色合在一起就是黄色。你可以通过调整三基色的强度合成任何一种颜色。

3.计算机表示颜色的方法

  • 计算机将所有的东西都存储为0和1,这些0和1通常被组织成8个称为字节的集合。一个字节表示0到255之间任意值。
  • 当我们想要在计算机程序中表现一种颜色时,我们可以通过定义构成该颜色的红色,蓝色和绿色的值来实现这一点。这些值通常存储为一个字节,取值范围为0到255。

二.什么是模拟信号?

三.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);
  }

}
上一篇下一篇

猜你喜欢

热点阅读