Arduino的模拟输入功能使用的analogRead(pin),与之对应的是模拟输出功能。Arduino模拟输出功能可以使用analogWrite(pin,value)函数,但是此函数并不是输出真正意义上的模拟值,而是以一种特殊的方式来达到输出模拟值的效果而已,analogWrite(pin,value)函数参数中的pin是指PWM引脚,value是指PWM脉冲宽度,范围为0~255。
PWM(Pulse Width Modulation)——脉冲宽度调制是指在使用analogWrite时,指定的管脚会输出固定周期的方波,通过改变高低电平在每个周期的占空比,可以得到一个近似输出不同效果的电压。如下图所示为5V IO时不同占空比时所得到的平均电压。