PWM(脉冲宽度调制)

脉冲宽度调制或 PWM,是通过数字均值获得模拟结果的技术。数字控制被用来创建一个方波,信号在开和关之间切换。这种开关模式通 过改变“开”时间段和“关”时间段的比值完全模拟从开(5 伏特)和关(0 伏特)之间的电压。“开时间“的周期称为脉冲宽度。为了得到不同的模拟值,你可以更改,或调节脉冲宽度。如果你重复这种开关模式速 度足够快,其结果是一个介于 0 和 5V 之间的稳定电压用以控制 LED的亮度。

下图中,绿色线表示一个固定的时间期限。此持续时间或周期是 PWM的频率的倒数。换言之,Arduino 的 PWM 频率约为 500Hz,每个绿线之间表示 2 毫秒。一个 analogWrite()的调用区间为 0- 255,例 如 analogWrite(255)需要 100%占空比(常开),和 analogWrite(127)是 50%占空比(上一半的时间)。

PWM

一旦你运行这个例子中,抓住你的 Arduino 来回摇晃。你这么做的实 质上是时间跨越时空的映射。对我们的眼睛,每个运动模糊成一条线 的 LED 闪烁。由于 LED 消失和缩小,那些小行的长度会增长和收缩。 现在你就可以看到脉冲宽度。