Arduino改变LED灯亮度的代码
时间: 2024-09-25 16:00:40 浏览: 103
在Arduino上使用PWM来改变LED灯亮度的基本代码如下:
```c++
#include <PinChangeInt.h> // 如果使用模拟口,需要包含这个库
// 定义LED灯的引脚
const int ledPin = 9; // 这里假设LED连接到数字9号引脚,你可以更改为你实际使用的引脚
void setup() {
pinMode(ledPin, OUTPUT); // 设置引脚为输出模式
TCCR2A = 0b10001111; // 设置定时器2的模式,启用PWM
OCR2A = 0; // 初始时占空比为0,LED关闭
}
void loop() {
for (int brightness = 0; brightness <= 255; brightness++) { // 可以自定义范围,这里用0-255表示全亮度
analogWrite(ledPin, brightness); // 调整占空比,改变LED亮度
delayMicroseconds(100); // 暂停一段时间让灯光变化,可根据需求调整延迟时间
}
}
```
在这个例子中,`analogWrite()`函数用于发送PWM信号,它的第一个参数是GPIO引脚,第二个参数是0-255之间的值,代表占空比,数值越大,LED灯越亮。`delayMicroseconds()`函数是为了在每次亮度调整之间留出一点时间,让人的视觉系统看到连续的变化。
注意:如果使用的是数字IO而非模拟IO,请使用`digitalWrite()`替换`analogWrite()`。
阅读全文