制作所需组件
- RGB LED灯 1 个
- 220欧电阻 3 个
- Arduino开发板 1 块
- 面包 1 块
- 跳线 4 根
电路原理图
电路图搭建过程
- 将RGB LED灯接入面包板
- 将3个电阻的一端引脚分别接入面包板RGB LED灯三个引脚所在列
- 接入跳线,分别对应电阻引脚的另一端,其中一根线接到RGB LED灯的地线引脚(GND)列
- 将以上4根线的另一端接入 Arduino开发板中,其中,地线对应Arduino开发板的GND接口,RGB LED灯R引脚线对应Arduino开发板7好接口,G引脚线对应6号接口,B引脚线对应5号接口。
代码实现
int redPin= 7;
int greenPin = 6;
int bluePin = 5;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
setColor(255, 0, 0); // Red Color
delay(1000);
setColor(0, 255, 0); // Green Color
delay(1000);
setColor(0, 0, 255); // Blue Color
delay(1000);
setColor(255, 255, 255); // White Color
delay(1000);
setColor(170, 0, 255); // Purple Color
delay(1000);
setColor(0,255,255); // Cyan Color
delay(1000);
setColor(255,215,0); // Gold Color
delay(1000);
setColor(244,164,96); // SandyBrown Color
delay(1000);
setColor(255,192,203); // Pink Color
delay(1000);
setColor(0, 0, 0); // Black Color
delay(1000);
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
以上利用自定义函数 setColor来设置灯管颜色,实际实现是使用analogWrite()函数创建的PWM信号的占空比,参数值可以在0到255之间变化,表示PWM信号的100%占空比或最大LED亮度。上面设置了八种灯光颜色,每种颜色持续 1 秒,之后自动跳转下一种颜色,即发生闪烁。如果需要制作更多灯光,可以自主添加RGB颜色值,颜色转换可以到https://www.sioe.cn/yingyong/yanse-rgb-16/
查看。