NodeMCU ESP8266 的PWM波形输出教程(图文并茂)

这篇具有很好参考价值的文章主要介绍了NodeMCU ESP8266 的PWM波形输出教程(图文并茂)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

NodeMCU ESP8266 基于 Arduino 的 PWM波形输出

esp8266 pwm arduino,ESP8266学习教程⭐⭐,单片机,stm32,嵌入式硬件,Arduino,ESP8266,物联网

什么是PWM?

PWM是脉冲宽度调制(Pulse Width Modulation)的缩写,是一种用于控制电子设备的技术。

PWM的基本原理是周期性地改变信号的脉冲宽度,通常以一个固定的周期(Period)为基准,然后在每个周期内调整脉冲的占空比(Duty),即高电平和低电平的时间比例。

可以通过调整脉冲信号的占空比来控制电路中的电流,电压或功率,以实现精确的控制和调节。

PWM具体如下图所示;

esp8266 pwm arduino,ESP8266学习教程⭐⭐,单片机,stm32,嵌入式硬件,Arduino,ESP8266,物联网

下图分别是占空比0%,25%,100%的情况,具体如下所示;

esp8266 pwm arduino,ESP8266学习教程⭐⭐,单片机,stm32,嵌入式硬件,Arduino,ESP8266,物联网

PWM广泛应用于各种电子设备中,包括电机驱动、LED调光、音频放大器、电源管理和温度控制等。

它是一种高效的控制方法,因为它可以在不产生多余热能的情况下,通过调整占空比来控制电流或电压,从而降低能耗和发热。

下面我们将介绍如何通过PWM调整LED的亮度。

常用接口

这里我们使用D2接口作为PWM的实验,这个接口可以输出模拟的PWM波形,另外接了一个LED灯,可以调整LED灯的亮度,或者可以做一个呼吸灯,具体硬件如下图所示;

esp8266 pwm arduino,ESP8266学习教程⭐⭐,单片机,stm32,嵌入式硬件,Arduino,ESP8266,物联网

pinMode

pinMode接口将D2的GPIO设置为输出模式;

pinMode(2, OUTPUT);

analogWrite

analogWrite 是Arduino编程中用于产生模拟PWM(脉冲宽度调制)信号的函数。

尽管名字中包含 “analog”,但在NodeMCU ESP8266等某些硬件上,analogWrite实际上用于产生数字PWM信号,而不是真正的模拟信号。

在NodeMCU ESP8266芯片上,PWM信号是通过快速地切换数字信号的高电平和低电平来模拟模拟信号。

analogWrite函数允许您设置一个引脚上的PWM占空比,从而控制连接到该引脚的设备的亮度、速度或其他参数。

以下是analogWrite函数的基本语法:

analogWrite(pin, value);
  • pin:要设置PWM的引脚号,通常是一个数字,例如D1D2,分别对应12
  • value:PWM占空比的数值,通常是介于0和255之间的整数,其中0表示低电平(完全关闭),255表示高电平(100%占空比,完全开启),其他值在这两者之间调整亮度或速度等参数。

注意,在NodeMCU ESP8266等某些硬件上,PWM的范围可能不是标准的0到255,而是0到1023,因此您需要根据您的具体硬件进行调整。

analogWrite函数通常用于控制LED的亮度、电机的速度、舵机的角度等需要调整电压或电流的应用中。

在使用之前,确保选择正确的引脚,以及适当调整PWM范围以满足您的需求。

示例

下面我们使用NodeMCU ESP8266D2引脚创建呼吸灯效果的Arduino示例程序。

这个程序会让LED逐渐变亮再逐渐变暗,循环往复,实现呼吸灯效果;

具体如下所示;

const int ledPin = D2;   // 设置使用的GPIO引脚(D2)
const int pwmRange = 1023; // PWM范围

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // 逐渐变亮
  for (int dutyCycle = 0; dutyCycle <= pwmRange; dutyCycle++) {
    analogWrite(ledPin, dutyCycle);
    delay(10);  // 控制变化速度
  }

  // 逐渐变暗
  for (int dutyCycle = pwmRange; dutyCycle >= 0; dutyCycle--) {
    analogWrite(ledPin, dutyCycle);
    delay(10);  // 控制变化速度
  }
}

在这个程序中,我们首先设置了使用的引脚(D2)和PWM范围(0-1023)。

  • setup函数中,我们将D2引脚设置为输出模式。

  • loop函数中,我们使用analogWrite函数逐渐增加和减小PWM占空比,从而控制LED的亮度。通过调整delay函数的参数,您可以控制变化的速度。

此示例代码会循环执行,使LED看起来像在呼吸。

注意将LED连接到NodeMCU ESP8266的D2引脚,并适当的电流限制电阻,以避免损坏LED。

总结

本文简单介绍了NodeMCU ESP8266 基于Arduino API产生PWM波形,控制LED,形成相应的呼吸灯效果。

由于作者能力有限,文章中难免存在错误和纰漏,请大胆指正,如果对于文章中存在疑惑或者问题,欢迎在评论区进行留言。

如果文章帮到了你,请帮忙点赞,三连支持👍👍👍。文章来源地址https://www.toymoban.com/news/detail-796203.html

到了这里,关于NodeMCU ESP8266 的PWM波形输出教程(图文并茂)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NodeMCU ESP8266 基于Arduino IDE的串口使用详解(图文并茂)

    UART ( Universal Asynchronous Receiver/Transmitter ),串口通讯在嵌入式开发中至关重要,我们可以通过串口打印程序里的数据,也可以通过串口将数据发送到PC上并进行可视化的图形显示。 注意:相关的串口通讯的知识可以参考这篇文章 UART串口协议快速扫盲(图文并茂+超详细) Node

    2024年02月04日
    浏览(63)
  • Arduino ESP8266控制SG90舵机输出PWM信号

    舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。 控制信号由接收机的通道进入信号调制芯片

    2023年04月26日
    浏览(70)
  • Arduino + ESP8266 NodeMcu(超详细)

            从计算机学院入坑工学院,第一次学习Arduino+ESP8266 NodeMcu( CH340驱动版 )开发板的学习         本着小白上道,才发现各种开源项目和一些包在到处割韭菜,记录一下第一次学习安装遇到的坑 (本次记录所有下载链接和我上传在CSDN上的下载项目全部免费提供

    2023年04月08日
    浏览(48)
  • 01-ESP8266 NodeMCU 物联网开发初识

    Author:teacherXue ESP8266 是 Espressif Systems 生产的 Wi-Fi 片上系统 (SoC)。它非常适合物联网和家庭自动化项目,目前有非常高的市场普及率,还有更加高端的同时支持wifi和蓝牙的双核心芯片ESP32,可以在乐鑫官网查看完整的芯片列表。 ESP8266芯片的技术特性 处理器: L106 32 位 RISC 微

    2024年02月11日
    浏览(49)
  • NodeMCU ESP8266 中断介绍以及使用详解

    今天,我们将学习中断和定时器的相关概念,并且基于NodeMCU ESP8266 12E开发板搭建硬件电路,通过使用中断和定时器实现我们想要实现的功能。 中断在嵌入式开发中是很常见的功能,特别是在单片机的开发中。通常 GPIO 引脚可以接收外部的信号,根据不同的信号类型,可以触

    2024年02月04日
    浏览(60)
  • ESP8266/ESP32 NodeMCU接入阿里云物联网平台

    阿里云物联网平台公共实例是免费的,且不像然也等服务器一样无法区分不同用户发布的话题。本文采用常规的pubsubclient库连接阿里云。ESP8266/ESP32用pubsubclient接入阿里云平台截至写稿的现在,网上有的资源较少,现在我就来介绍一下使用方法 1.登录阿里云官网https://www.aliyu

    2024年02月02日
    浏览(56)
  • NodeMCU ESP8266硬件开发板的熟悉

    什么是 ESP8266 NodeMCU? ESP8266 是乐鑫开发的一款低成本 Wi-Fi 芯片。 ESP8266可以作为一共独立的设备进行运行,也可以作为一款WiFi模块,通过AT指令进行控制。 例如,您可以将 ESP8266 连接到 单片机,通过串口AT指令实现增加 Wi-Fi 的功能。最实际的应用是将它其用作独立设备。

    2024年02月06日
    浏览(63)
  • ESP8266-NodeMCU物联网原理介绍以及说明(新手入门)

    做一期ESP8266-NodeMCU物联网模块的介绍,详解该模块的电路和原理以及引脚的使用说明,后面会逐步上案例的。如有问题,请联系,及时更正。 ESP8266-NodeMCU 开发板 物联网模块,有ESP8266网络模块,配置有一般开发板的常用功能。iic ,pwm ,串口等常见通信。 ESP8266-NodeMCU是一个开

    2024年02月02日
    浏览(45)
  • NodeMCU ESP8266构建Web Server网页端控制设备

    NodeMCU ESP8266 内部集成了 TCP/IP 协议栈,可以快速构建网络功能,搭建联网应用的硬件平台; ESP8266可以作为WiFi接入点( Station ),这样可以方便连接互联网,通过HTTP协议和云端服务器进行连接,数据处理; ESP8266可以作为热点( Access Point ),这样方便其他设备的接入,可以

    2024年02月05日
    浏览(44)
  • ESP8266 NodeMCU连接阿里云(从环境搭建到代码实现)

    ESP8266 NodeMCU是一款基于ESP8266芯片的开发板,因其体积小、功耗低、易于编程和扩展等特点,在物联网领域得到了广泛应用。阿里云IoT平台则为开发者提供了稳定可靠的物联网服务,包括设备接入、数据管理、远程控制等功能。本教程将指导你如何将ESP8266 NodeMCU连接到阿里云

    2024年04月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包