IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> Arduino 编程 ESP8266 12F NodeMCU 实现 PWM 控制呼吸灯 -> 正文阅读

[嵌入式]Arduino 编程 ESP8266 12F NodeMCU 实现 PWM 控制呼吸灯

Arduino 编程 ESP8266 12F NodeMCU 实现 PWM 控制呼吸灯

有两种版本的 ESP Node MCU,都可以使用,只是下载串口的驱动不同而已,所有引脚都一样
IO 引脚中,只有带有波浪线的引脚,才具备输出 PWM 模拟信号的能力

GPIO宏定义引脚
4D2
14D5
12D6
15D8

在这里插入图片描述
在这里插入图片描述

一、官方手册中的定义

  • 文档中说道,默认的值范围为 0-255,但是在 3.0 之后的版本中,默认范围变更为 0-1023
  • 至于范围我们可以调用 analogWriteRange(new_range) or analogWriteResolution(bits) 进行调整
  • 在我写代码的时候,使用255时观察示波器波形发现的,波形高电平最高只能占到一个周期的 1/4,查找官方手册发现了是这个原因
    在这里插入图片描述

二、开发板代码

  • 我们再来看看实际中的代码,我的开发板 PWM value 值默认范围为 0 - 1023,官方手册查得
  • 但是在实际使用中,值大于 700 后 LED 的亮度变化就不太明显了
#include <ESP8266WiFi.h>        // 本程序使用 ESP8266WiFi库
 
int brightness = 0;

void setup(void){
    pinMode(D6, OUTPUT);
    Serial.begin(9600);
}

void loop(void){
    //Low to High,实际大于 700 后亮度变化不明显
    for(brightness = 0; brightness <= 700; brightness++){//0 - 1023
        analogWrite(D6, brightness);
        Serial.println(brightness);
        delay(10);
    }

    //High to Low
    for(brightness = 700; brightness >= 0; brightness--){
        analogWrite(D6, brightness);
        Serial.println(brightness);
        delay(10);
    }
}
  • 对于输出模拟信号还有其他接口,靠大家自己去探索了
int analogRead(uint8_t pin);
void analogReference(uint8_t mode);
void analogWrite(uint8_t pin, int val);
void analogWriteFreq(uint32_t freq);
void analogWriteRange(uint32_t range);

三、 示波器现象

范围在 0-1023之间变化的波形

  • 占空比为 0%
  • 占空比为 50%
  • 占空比为 100%

四、实物现象

LED在亮灭之间变化着,完成了呼吸灯现象

  • 谢谢支持,一个正在学习路上的嵌入式人,如果觉得有用的话麻烦大佬点个赞吧
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:38:50  更:2021-10-20 12:39:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:23:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码