两个LED渐明渐灭代码
时间: 2023-07-03 17:08:34 浏览: 30
下面是两个LED渐明渐灭的代码,分别使用了PWM(脉冲宽度调制)的方式调节LED的亮度。
```
//引用Arduino内置库
#include <Arduino.h>
//定义LED引脚
#define LED1 3
#define LED2 5
//定义PWM信号的周期
#define PWM_PERIOD 2000
//定义渐变的速度
#define FADE_SPEED 10
int brightness1 = 0; //LED1当前亮度
int brightness2 = 0; //LED2当前亮度
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
}
void loop() {
//LED1渐明
for (int i = 0; i <= 255; i += FADE_SPEED) {
brightness1 = i;
analogWrite(LED1, map(brightness1, 0, 255, 0, PWM_PERIOD));
delay(10);
}
//LED1渐暗
for (int i = 255; i >= 0; i -= FADE_SPEED) {
brightness1 = i;
analogWrite(LED1, map(brightness1, 0, 255, 0, PWM_PERIOD));
delay(10);
}
//LED2渐明
for (int i = 0; i <= 255; i += FADE_SPEED) {
brightness2 = i;
analogWrite(LED2, map(brightness2, 0, 255, 0, PWM_PERIOD));
delay(10);
}
//LED2渐暗
for (int i = 255; i >= 0; i -= FADE_SPEED) {
brightness2 = i;
analogWrite(LED2, map(brightness2, 0, 255, 0, PWM_PERIOD));
delay(10);
}
}
```
该代码使用了Arduino的analogWrite函数,通过map函数将0到255的亮度值映射到一个PWM周期内,从而产生PWM信号。循环中的delay函数用于控制渐变速度,FADE_SPEED可以根据需要进行调整。