(四)Arduino系列:NodeMCU PWM占空比学习

释放双眼,带上耳机,听听看~!

介绍

脉冲宽度调制(PWM)是一种在保持波的频率恒定的同时改变脉冲宽度的技术。

(四)Arduino系列:NodeMCU PWM占空比学习

 

PWM生成

脉冲周期包括ON周期(VCC)和OFF周期(GND)。在一段时间内信号导通的分数称为占空比

 

(四)Arduino系列:NodeMCU PWM占空比学习

例如,周期为10ms的脉冲将保持ON(高电平)2ms。因此,占空比将为

D = 2ms / 10ms = 20%

通过PWM技术,我们可以使用ON-OFF信号控制输送到负载的功率。PWM信号可用于控制直流电机的速度和改变LED的强度。此外,它还可用于生成正弦信号。脉冲宽度具有不同占空比的调制信号如下所示。

(四)Arduino系列:NodeMCU PWM占空比学习

PWM占空比

基于NodeMCU的ESP8266通过软件编程具有PWM接口的功能。它是通过定时器中断方法实现的。ESP8266的PWM频率范围可调至1KHz。

NodeMCU上的PWM引脚

(四)Arduino系列:NodeMCU PWM占空比学习

NodeMCU PWM引脚

NodePU PWM的Arduino功能

analogWrite(pin, dutycycle)在指定引脚上启用软件PWM。占空比范围为0到PWM最大范围,默认为1023。

analogWrite(pin, 0)禁用指定引脚上的PWM。

analogWriteRange(new_range)该功能用于改变PWM范围(占空比)。

analogWriteFreq(new_frequency) PWM频率默认为1kHz。调用此功能可以用新频率更改它.PWM频率在1 – 1000Khz范围内。

让我们编写一个Arduino程序,在NodeMCU的第6个引脚上设置PWM,并通过连接到NodeMCU的ADC引脚的电位器改变它的占空比。这里我们连接PWM引脚上的LED,以显示PWM变化的效果(LED的亮度)。

(四)Arduino系列:NodeMCU PWM占空比学习

使用NodeMCU PWM进行LED亮度控制

 

用于PWM的Arduino程序

uint8_t LEDpin = D6;

/* By default PWM frequency is 1000Hz and we are using same 
   for this application hence no need to set */

void setup(){
  Serial.begin(9600);
  analogWrite(LEDpin, 512);  /* set initial 50% duty cycle */
}

余下程序:

完整程序下载

给TA打赏
共{{data.count}}人
人已打赏
动态

(三)Arduino系列:NodeMCU ADC使用方法

2019-4-29 0:20:42

动态

(五)Arduino系列:NodeMCU GPIO定时器中断

2019-5-2 13:17:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'); })();