ESP8266-模拟输出(PWM)

摘要:
例如,一个10ms的脉冲保持ON2ms,那么根据公式,占空比是20%NodeMcuPWM引脚:基本上数字IO都可以作为PWM复用引脚,除了D0。不过需要注意的是,D3尽量不用,它内部连接ESP8266GPIO0NodeMcuPWM有关Arduino函数:函数:analogWrite往指定引脚写入数据pin:要启用软件PWM的GPIO引脚val:数值,一般在0到PWMRANGE范围,默认PWMRANGE是1023返回值:无函数:analogWriteRange该功能用于改变PWMRANGE数值---改变引脚读写的数据范围返回值:无注意点:可以理解为PWM精度范围。同样的PWM频率下,默认占空数值1023。

ESP8266-模拟输出(PWM)第1张

PWM(Pulse Width Modulation,脉宽调制),是在保持波的频率不变的同时改变脉宽的技术

ESP8266-模拟输出(PWM)第2张

首先,我们来理解一下占空比。一个脉冲周期由一个ON周期(VCCC)和一个OFF周期(GND)组成。一段时间内ON周
期占据脉冲周期的比例就叫做占空比。例如,一个10ms的脉冲保持ON 2ms,那么根据公式,占空比是20%
NodeMcu PWM引脚 :

ESP8266-模拟输出(PWM)第3张

基本上数字IO都可以作为PWM复用引脚,除了D0。不过需要注意的是,D3尽量不用,它内部连接ESP8266 GPIO0
NodeMcu PWM有关Arduino函数:
函数: analogWrite(pin,val) 往指定引脚写入数据
pin:要启用软件PWM的GPIO引脚
val:数值,一般在0到PWMRANGE范围,默认PWMRANGE是1023
返回值: 无

函数: analogWriteRange(new_range) 该功能用于改变PWMRANGE数值---改变引脚读写的数据范围

返回值: 无

注意点:可以理解为PWM精度范围。同样的PWM频率下,默认占空数值1023。如果你改变PWMRANGE为2047,那么占空数值就变成0-2047。精度高了一倍

函数: analogWriteFreq(new_frequency) 该功能用于改变PWM频率

new_frequency:新PWM频率,默认是1kHZ

返回值: 无

Arduino For ESP8266的PWM频率范围应该是100Hz-40KHz

例子:使D6引脚的LED灯亮暗变化

ESP8266-模拟输出(PWM)第4张

#define PIN_LED D6 
voidsetup() { 
 pinMode(PIN_LED,OUTPUT); //设置引脚模式
 analogWrite(PIN_LED,0); 
}
 voidloop() { 
  for(int val=0;val<1024;val++){ 
    analogWrite(PIN_LED,val); //给指定引脚写入数据
    delay(2); 
    }
    for(int val=1023;val>=0;val--){ 
      analogWrite(PIN_LED,1023); 
      delay(2); 
      }
      }
      

天子骄龙

免责声明:文章转载自《ESP8266-模拟输出(PWM)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Maven的setting配置文件windows计划任务+批处理文件实现oracle数据库的定时备份与恢复下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

「雕爷学编程」Arduino动手做(33)——ESP-01S无线WIFI模块

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。 【Arduino】108种传感器模块系列实验(资料+代...

ESP8266-12F

读者可以把ESP8266当做Arduino+WiFi功能来开发   ESP8266模块支持STA/AP/STA+AP 三种工作模式: STA 模式:ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制 AP模式:ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制 ESP8266-12F引脚图:  分...

microPython环境安装及使用

1.ESP8266_12E(NodeMCU1.0)(AI Thinker)板Arduino IDE环境安装 (1)方法1(自动安装,windows,mac,linux平台都可)http://arduino.esp8266.com/stable/package_esp8266com_index.json(2)方法2(手工安装库和工具,mac,linux)(a...

ESP8266-Arduino杀手?

Arduino之所以流行可能是因为它的学习曲线比较平缓,另外是支持它的第三方程序库非常多,无论在什么平台上都比较容易入门。多年前我曾和一些搞嵌入开发多年的朋友请教,他们更建议我多点尝试STM的开发,Arduino只能在实验室中玩玩很难产品化的,主要原因是由于芯片生产授权和Arduino嵌入到产品时很多时候都需要添加外围电路而导致生产成本很高。而对于我这种一...

STM32定时器应用——PWM

STM32的定时器有三种,高级定时器(TIM1和TIM8),通用定时器(TIM2、TIM3、TIM4、TIM5)和基本定时器(TIM6和TIM7)。 这三者的区别是: 基本定时器:基本定时器功能比较简单,主要是计时,也可以为DAC提供时钟,直接触发驱动DAC 通用定时器:通用定时器除了基本的定时功能外,还可以测量输入信号的脉冲长度,也就是输入捕获功能,...

乐鑫esp8266的串口通讯驱动源文件,nonos和rtos版本

代码地址如下:http://www.demodashi.com/demo/13650.html 目录 一、前言; 二、esp8266的串口分布情况; 三、esp8266的串口通讯时候,应该怎么接线; 四、esp8266的NONOS非系统,串口编程; 五、esp8266的RTOS实时系统,串口编程; 一、前言; 我们已经学习esp8266的方方面面...