analogWrite

说明

将一个模拟数值写进Arduino引脚。这个操作可以用来控制LED的亮度, 或者控制电机的转速. Arduino每一次对引脚执行analogWrite()指令,都会给该引脚一个固定频率的PWM信号。PWM信号的频率大约为490Hz.

在Arduino UNO控制器中,5号引脚和6号引脚的PWM频率为980Hz。在一些基于ATmega168和ATmega328的Arduino控制器中,analogWrite()函数支持以下引脚: 3, 5, 6, 9, 10, 11。

在Arduino Mega控制其中,该函数支持引脚 2 – 13 和 44 – 46。使用ATmega8的Arduino控制器中,该函数只支持引脚 9, 10, 11.

在调用analogWrite()函数前,您无需使用pinMode()函数来设置该引脚。

语法

analogWrite(pin, value)

参数

pin:被读取的模拟引脚号码
value:0到255之间的PWM频率值, 0对应off, 255对应on

返回值

示例程序

在本示例中,我们将10K电位器的三个引脚分别连接在5V, GND, 以及A0引脚。通过调节电位器, A0引脚的输入电压将在0V-5V之间。在Arduino内置的数模转换功能作用下,该输入电压将被映射到数值0-1023之间。我们将这一数值除以4从而得到0-255之间的数字。这一数字将被用于调整引脚3上LED的亮度。

连接说明
将10K电位器的三个引脚分别连接在5V, GND, 以及A0引脚
引脚3连接LED正极,LED负极连接150欧姆电阻一端,电阻另外一段连接Arduino的GND引脚。