SMD 3Color LED Module(KY-009) CN

这是一个可以通过 0 到 255 数值控制红色、蓝色、绿色三原色的 LED 模块。
与 三色 LED 模块相似。
规格
- 工作电压:5V
- 工作电流:20mA ~ 30mA
示例所用硬件(不含跳线和面包板)
- Arduino board
- 三色 LED 模块
- 按钮(push button)
- 跳线 跳线
连接
为实现模拟输出,使用支持 PWM 输出的 D9、D10、D11 引脚。
| Arduino Nano | 三色 LED SMD 模块 | 按钮 |
| GND | - | 连接 |
| D12 | 连接 | |
| D11 | R | |
| D10 | G | |
| D9 | B |

示例代码
每次按下按钮时,LED 的颜色依次改变的示例程序。
#define btn1 12
#define red 11
#define green 10
#define blue 9
int btnFlg1 = 0;
int btn1Chk() {
if (digitalRead(btn1) == 0) {
btnFlg1 = 1;
return 0;
}
if (btnFlg1 == 1) {
btnFlg1 = 0;
return 1;
}
return 0;
}
int state = 0;
void setup() {
pinMode(btn1, INPUT_PULLUP);
}
void loop() {
if (btn1Chk()) {
switch (state) {
case 0:
analogWrite(red, 255);
break;
case 1:
analogWrite(red, 0);
analogWrite(green, 255);
break;
case 2:
analogWrite(green, 0);
analogWrite(blue, 255);
break;
case 3:
analogWrite(red, 255);
analogWrite(green, 255);
analogWrite(blue, 0);
break;
case 4:
analogWrite(red, 255);
analogWrite(green, 0);
analogWrite(blue, 255);
break;
case 5:
analogWrite(red, 0);
analogWrite(green, 255);
analogWrite(blue, 255);
break;
case 6:
analogWrite(red, 255);
analogWrite(green, 255);
analogWrite(blue, 255);
break;
case 7:
analogWrite(red, 0);
analogWrite(green, 0);
analogWrite(blue, 0);
break;
default:
break;
}
state++;
if (state > 7) state = 0;
}
delay(10);
}
执行结果