C++
const int ledR = 11; // 红色 LED 引脚,必须是 PWM 引脚
const int ledG = 10; // 绿色 LED 引脚,必须是 PWM 引脚
const int ledB = 9; // 蓝色 LED 引脚,必须是 PWM 引脚
void setup()
{
pinMode(ledR, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(ledB, OUTPUT);
}
void loop()
{
// 1. 红色呼吸灯
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledR, brightness);
analogWrite(ledG, 0);
analogWrite(ledB, 0);
delay(10); // 调节亮度变化的速度
}
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledR, brightness);
analogWrite(ledG, 0);
analogWrite(ledB, 0);
delay(10);
}
// 2. 绿色呼吸灯
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledR, 0);
analogWrite(ledG, brightness);
analogWrite(ledB, 0);
delay(10);
}
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledR, 0);
analogWrite(ledG, brightness);
analogWrite(ledB, 0);
delay(10);
}
// 3. 蓝色呼吸灯
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledR, 0);
analogWrite(ledG, 0);
analogWrite(ledB, brightness);
delay(10);
}
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledR, 0);
analogWrite(ledG, 0);
analogWrite(ledB, brightness);
delay(10);
}
// 4. RGB 流水灯(依次点亮)
for(int i=0;i<=10;i++){
digitalWrite(ledR,HIGH);
delay(100);
digitalWrite(ledR,LOW);
delay(100);
digitalWrite(ledG,HIGH);
delay(100);
digitalWrite(ledG,LOW);
delay(100);
digitalWrite(ledB,HIGH);
delay(100);
digitalWrite(ledB,LOW);
delay(100);
}
// 5. 蓝色恒定亮灯,红色和绿色呼吸灯
analogWrite(ledB, 120);
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledR, brightness);
analogWrite(ledG, brightness);
delay(10);
}
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledR, brightness);
analogWrite(ledG, brightness);
delay(10);
}
reset();
// 6. 绿色恒定亮灯,红色蓝色呼吸灯
analogWrite(ledG, 120);
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledR, brightness);
analogWrite(ledB, brightness);
delay(10);
}
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledR, brightness);
analogWrite(ledB, brightness);
delay(10);
}
reset();
// 7. 红色恒定亮灯,绿色蓝色呼吸灯
analogWrite(ledR, 120);
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledG, brightness);
analogWrite(ledB, brightness);
delay(10);
}
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledG, brightness);
analogWrite(ledB, brightness);
delay(10);
}
reset();
}
void reset(){
digitalWrite(ledR,LOW);
digitalWrite(ledG,LOW);
digitalWrite(ledB,LOW);
delay(500); } |