三彩渐变实验
实验现象
控制三基色LED中的红 绿 蓝三种颜色分别慢慢变量,在慢慢变暗
原理图
代码编写
#define led_r 3
#define led_g 5
#define led_b 6
int pwmvalue;
void setup() {
analogWrite(led_r, 255);
analogWrite(led_g, 255);
analogWrite(led_b, 255);
}
void red() {
pwmvalue = 255;
for (int i = 0; i < 255; i++) {
analogWrite(led_r, pwmvalue--);
analogWrite(led_g, 255);
analogWrite(led_b, 255);
delay(10);
}
pwmvalue = 0;
for (int i = 0; i < 255; i++) {
analogWrite(led_r, pwmvalue++);
analogWrite(led_g, 255);
analogWrite(led_b, 255);
delay(10);
}
}
void green() {
pwmvalue = 255;
for (int i = 0; i < 255; i++) {
analogWrite(led_r, 255);
analogWrite(led_g, pwmvalue--);
analogWrite(led_b, 255);
delay(10);
}
pwmvalue = 0;
for (int i = 0; i < 255; i++) {
analogWrite(led_r, 255);
analogWrite(led_g, pwmvalue++);
analogWrite(led_b, 255);
delay(10);
}
}
void blue() {
pwmvalue = 255;
for (int i = 0; i < 255; i++) {
analogWrite(led_r, 255);
analogWrite(led_g, 255);
analogWrite(led_b, pwmvalue--);
delay(10);
}
pwmvalue = 0;
for (int i = 0; i < 255; i++) {
analogWrite(led_r, 255);
analogWrite(led_g, 255);
analogWrite(led_b, pwmvalue++);
delay(10);
}
}
void loop() {
red();
green();
blue();
}