• 1
  • 2
  • 3
  • 4

首页 / 行业

怎样用ESP8266WiFi模块生成将用于LED衰落的脉冲宽度调制信号

2019-07-29 14:33:00

概述

我们已经看过几个使用各种微控制器(或IC)的PWM教程,如8051,Arduino,Raspberry Pi和IC 555.使用PWM技术,我们控制了LED的强度(增加或减少了亮度),改变了直流电机的速度(增加或减少速度),还旋转了伺服电机。

现在在ESP8266 PWM教程中,我将控制连接到ESP8266 WiFi模块的GPIO2引脚的LED的亮度,即使用ESP8266进行LED衰落。

ESP8266中的PWM

ESP8266EX微控制器即所有ESP8266模块(如ESP-01,NodeMCU等)的核心SoC由四个组成专用PWM输出接口。 ESP8266EX中与PWM对应的引脚如下:

ESP8266EX中的PWM引脚

引脚名称Pin Number

MTDI10

MTDO13

MTMS9

GPIO416

如果您发现,我们的ESP8266 ESP-01 WiFi模块中没有这四个引脚。那么我们如何在ESP8266中实现PWM呢?

这个问题的答案非常简单:使用软件编程,即准确使用微控制器的定时器。

ESP8266 WiFi模块中的PWM可以通过定时器中断实现。 PWM信号的频率可以是1Hz到1KHz之间的任何值(有人说,最低频率是100Hz!)。

如何在ESP8266中实现PWM?

ESP8266中PWM生成的软件实现与Arduino中的非常相似。由于我们使用Arduino IDE对ESP8266进行编程,因此负责产生PWM信号的功能是analogWrite(与我们在Arduino中使用的功能相同)。

analogWrite函数有两个参数:引脚号和PWM值。代替引脚编号,输入要通过其使用PWM输出的引脚编号。

进入PWM值,此处需要输入基于的值PWM的分辨率。对于Arduino,分辨率为8位,因此您必须输入介于0和255之间的值。

对于ESP8266,ESP8266中的PWM使用10位分辨率。因此,您必须输入0到1023之间的值。这里,PWM值“0”表示0%占空比,PWM值“1023”表示100%占空比。 0到1023之间的任何值都将成为占空比。

注意:

如果ESP8266中的一个引脚被分配了analogWrite来产生PWM信号,则它不能用作数字输出引脚,即你不能使用digitalWrite();该引脚上的功能。

为了将该引脚用作数字引脚,您需要写入analogWrite(引脚号,0)以释放它。

用于LED衰落的ESP8266 PWM教程电路图

下图是使用Arduino作为USB转串口转换器编程ESP8266 WiFi模块的电路图以及使用PWM信号的LED衰落。

怎样用ESP8266WiFi模块生成将用于LED衰落的脉冲宽度调制信号

所需组件

ESP8266 WiFi模块(ESP-01)

Arduino UNO

按钮

SPDT开关(滑动开关)

电阻器(1KΩ和2.2KΩ)

小型LED(5mm或3mm)

连接线

面包板

电路设计

连接LED(我使用的是8mm LED,你可以使用5mm或3mm LED和限流电阻istor)到ESP8266 WiFi模块的GPIO2引脚。

VCC和CH_PD连接到3.3V电源,GND连接到GND。 ESP8266 WiFi模块的RST(复位)引脚通过按钮连接到GND。

现在,ESP8266的RX和TX引脚连接到RX和TX Arduino UNO。请注意,电路图中ESP8266的RX引脚并未直接连接到Arduino的RX引脚,而是通过电平转换器(由1KΩ和2.2KΩ电阻组成)。

最后,GPIO0引脚。该引脚负责在ESP8266中启用编程模式。将GPIO0引脚连接到SPDT滑动开关,即连接到其中心端子,并将两个端子中的一个连接到GND。另一个端子用作GPIO引脚。

代码

ESP8266的代码PWM LED衰落教程如下:

工作

正确连接所有连接后按照电路图,在ESP8266中启用编程模式,即将GPIO0开关滑动到GND位置并按下RST按钮。

使用Arduino IDE上传代码(首先选择Generic板上的ESP8266模块以及正确的端口号。)

上传程序后,将GPIO0引脚滑动到GPIO位置并按下RST按钮一次。现在,代码将开始运行,最初您可以看到LED通过5步到最大强度缓慢增加亮度。

此后,淡入淡出动作开始于LED褪色进出,即从低到高,从高到低是循环。

应用

ESP8266 PWM教程只是ESP8266 WiFi模块PWM功能的演示。

使用ESP8266中的PWM技术,可以实现多个项目,如伺服电机控制,网络控制伺服,直流电机速度控制等

调制用于信号脉冲宽度

  • 1
  • 2
  • 3
  • 4

最新内容

手机

相关内容

  • 1
  • 2
  • 3

猜你喜欢