SMD 3Color LED Module(KY-009) CN

아두위키 : Arduwiki

这是一个可以通过 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);
}

执行结果