ESP8266 上的 PWM 信号是 10 bit数值,所以使用analogWrite(pin, value)函数,value代表整数,取值范围0到1023。
下面我们通过改变PWM的值来控制led的亮度
ESP8266 NodeMCU PWM (Pulse-Width Modulation)
ESP8266 的GPIO可以设置为输出 0V 或 3.3V,但不能输出 0V 到 3.3V之间任何电压。但是,您可以使用脉宽调制 (PWM) 输出“假”中级电压,作为生成不同级别 LED 亮度的方式。
如果您在高电平和低电平之间快速交替 LED 的电压,您的眼睛就跟不上 LED 开关的速度;你只会看到亮度的一些渐变。
这基本上就是 PWM 的工作原理——通过产生一个以非常高的频率在 HIGH 和 LOW 之间变化的输出。
占空比(duty)是 LED 设置为高电平的时间段(period)的一部分。下面是不同占空比对应的led亮度: