用户工具

站点工具


ocrobot:alpha:kitone:tutorial07

使用PWM调节LED亮度

使用analogWrite()函数让LED渐变亮或者渐变灭。analogWrite使用了PWM(脉冲宽度调制)功能,快速打开或者关闭数字引脚来制造渐变的效果。

ALPHA MEGA328-U核心

硬件

搭建电路

  1. ALPHA 11 LED模块插入并行扩展版1号槽位。
  2. ALPHA MEGA328-U模块插入并行扩展板2号槽位。
  3. USB线连接计算机与ALPHA MEGA328-U。

代码

/*
  Fade
  使用analogWrite()功能让LED渐变亮或者渐变灭
*/
int led = 9;           // LED 连到9号脚
int brightness = 0;    // LED 亮度
int fadeAmount = 5;    // 渐变量
void setup()  {
  pinMode(led, OUTPUT);  //9为数字输出
}
void loop()  {
  analogWrite(led, brightness);     // 亮度
  brightness = brightness + fadeAmount;  // 下一次改变亮度
  if (brightness == 0 || brightness == 255) {  // 渐变快要结束的时候反过来
    fadeAmount = -fadeAmount ;
  }
  delay(30);            // 等待30毫秒看看效果
}

这个例子中我们使用了一个新函数:analogWrite()。这个函数用于从特定的管脚输出PWM信号。

PWM是使用数字手段来控制模拟输出的一种手段。使用数字控制产生占空比不同的方波(一个不停在开与关之间切换的信号)来控制模拟输出。控制LED亮度渐变我们常常会用到这个函数。

返回上一级

ocrobot/alpha/kitone/tutorial07.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1