0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:工程师吴畏 2019-07-29 14:33 次阅读

概述

我们已经看过几个使用各种微控制器(或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技术,可以实现多个项目,如伺服电机控制,网络控制伺服,直流电机速度控制等

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23306

    浏览量

    661518
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5193

    浏览量

    214199
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    45126
收藏 人收藏

    评论

    相关推荐

    PWM信号生成方法 PWM调制原理讲解

    PWM(脉冲宽度调制,Pulse Width Modulation)是一种重要的模拟信号电平数字编码方法,在电子技术和控制领域具有广泛应用。以下是对PWM信号生成方法和PWM
    的头像 发表于 11-28 16:34 1511次阅读

    arduino(1)--ESP8266配置

    Module进行开发。 至此,ESP8266已经配置完毕。 代码 本文使用点亮LED来验证模块是否配置正确,点灯的代码如下所示。 上图可以得知LED在GPIO2上。 #incl
    发表于 09-06 11:00

    esp8266不烧录可以使用吗

    ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。然而,如果不进行烧录,ESP8266将无法正常工作。 1. ESP8266
    的头像 发表于 08-19 17:28 877次阅读

    esp8266wifi模块怎么连接手机

    ESP8266 WiFi模块连接手机主要可以通过两种方式实现: 通过路由器连接(STA模式)和直接作为热点连接(AP模式) 。以下是两种连接方式的步骤: 一、通过路由器连接(STA模式) 配置
    的头像 发表于 08-19 17:27 3175次阅读

    如何测量外部脉冲宽度

    请问:怎样测量输入脉冲宽度?或者说,我怎样读取定时器内部的值,ESP8266的指令周期是多少?
    发表于 07-09 08:19

    什么叫单极性和双极性脉冲宽度调制

    脉冲宽度调制是一种模拟信号数字化的方法,通过改变脉冲序列中脉冲宽度来控制模拟信号的输出。PWM
    的头像 发表于 05-24 15:29 1876次阅读

    脉冲宽度调制控制电路TL1453C数据表

    电子发烧友网站提供《双脉冲宽度调制控制电路TL1453C数据表.pdf》资料免费下载
    发表于 04-18 11:13 0次下载
    双<b class='flag-5'>脉冲宽度调制</b>控制电路TL1453C数据表

    负输出反激脉冲宽度调制器UC3572数据表

    电子发烧友网站提供《负输出反激脉冲宽度调制器UC3572数据表.pdf》资料免费下载
    发表于 04-11 10:42 0次下载
    负输出反激<b class='flag-5'>脉冲宽度调制</b>器UC3572数据表

    调节脉冲宽度调制器UC1525B/1527B系列数据表

    电子发烧友网站提供《调节脉冲宽度调制器UC1525B/1527B系列数据表.pdf》资料免费下载
    发表于 04-07 15:47 0次下载
    调节<b class='flag-5'>脉冲宽度调制</b>器UC1525B/1527B系列数据表

    先进的调节脉冲宽度调制器UC1524A系列数据表

    电子发烧友网站提供《先进的调节脉冲宽度调制器UC1524A系列数据表.pdf》资料免费下载
    发表于 04-07 15:40 0次下载
    先进的调节<b class='flag-5'>脉冲宽度调制</b>器UC1524A系列数据表

    调节脉冲宽度调制器UC1526A系列数据表

    电子发烧友网站提供《调节脉冲宽度调制器UC1526A系列数据表.pdf》资料免费下载
    发表于 04-02 09:27 1次下载
    调节<b class='flag-5'>脉冲宽度调制</b>器UC1526A系列数据表

    调节脉冲宽度调制器UCx52xA数据表

    电子发烧友网站提供《调节脉冲宽度调制器UCx52xA数据表.pdf》资料免费下载
    发表于 04-01 15:34 0次下载
    调节<b class='flag-5'>脉冲宽度调制</b>器UCx52xA数据表

    如何生成脉冲宽度调制PWM信号

    PWM信号具有许多优点,例如精准性高,可以快速实现控制的响应和控制精度,并快速响应任何运动误差。
    的头像 发表于 03-27 16:29 1285次阅读
    如何<b class='flag-5'>生成</b><b class='flag-5'>脉冲宽度调制</b>PWM<b class='flag-5'>信号</b>?

    脉冲宽度调制(PWM):工程机械控制器的常见技术

    在电子领域中,脉冲宽度调制(PWM)是一项广泛应用的技术。通过改变信号脉冲宽度来调整输出信号的平均功率,实现对电压或电流的有效控制。在工程机械控制器中,PWM功能更是发挥着至关重要的
    的头像 发表于 03-06 13:58 1269次阅读
    <b class='flag-5'>脉冲宽度调制</b>(PWM):工程机械控制器的常见技术

    为什么工程机械控制器需要脉冲宽度调制功能

    在电子领域中,脉冲宽度调制(PWM)是一项广泛应用的技术。通过改变信号脉冲宽度来调整输出信号的平均功率,实现对电压或电流的有效控制。在工程机械控制器中,PWM功能更是发挥着至关重要的
    的头像 发表于 02-23 10:17 491次阅读