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 IDE开发的ESP8266(ESP-12F)项目5 ——(高级输入输出)PWM、AD转换 -> 正文阅读

[嵌入式]基于Arduino IDE开发的ESP8266(ESP-12F)项目5 ——(高级输入输出)PWM、AD转换

??本次写这篇文章是自己做一下学习记录,如有错误,还请大家斧正!!!

日后及时修正!感谢支持!

?欢迎大家的关注????????点赞? ? ? ? 收藏? ? ? ? 留言


目录

前言

? ? ? ? 一、新建工程

? ? ? ? 二、项目函数介绍? ?

? ? ? ? ? ? ? ? 1.PWM函数

? ? ? ? ? ? ? ? 2.AD函数? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? 三、代码编写

? ? ? ? 四、编译、烧录、运行

结束语


前言

? ? ? ? PWM是每一位单片机开发者重视的项目,在无论是开发呼吸灯、控制电机都必不可少,现在带大家接触PWM了解一下它。关于PWM的理论知识,个人觉得还没有百度的解释清晰。在这里为大家找好关于百度百科的链接PWM技术_百度百科 (baidu.com)

? ? ? ? AD(模拟量转数字量),也是一个重点项目,在电压检测中不可或缺;也是多数人在项目开发中运用较多的一个。?


?一、新建工程

? ? ? ? 首先打开Arduino IDE,点击 文件——> 点击新建,就会生成一个新的工程模板了。 (还可以点任务栏中“折了一角的书页”快速新建)。

?然后给项目重命名,然后再保存。

??这样一个新的工程就建好了。


二、项目函数介绍

1.?PWM函数

? (1)analogWrite() 函数

功能使用analogWrite() 函数实现PWM输出功能。
作用输出PWM波
analogWrite(pin,value)
参数说明
pin指定要输出PWM波的引脚
value指定是PWM的脉冲宽度,范围为0~255。

2.? AD函数? ?

(1)analogRead() 函数

功能模拟输入功能
作用将外部输入的模拟信号转换为芯片运算时可以识别的数字信号,从而实现读入模拟值的功能。
analogRead(pin)
参数说明
pin指定要读取模拟值的引脚,被指定的引脚必须是模拟输入引脚。
返回值模拟输入功能有10位精度,即可以将0~5V的电压信号转换为0~1023的整数形式表示。

注:在analogWrite() 和analogRead() 函数内部,已经完成了引脚的初始化,因此不用在Setup() 函数中进行初始化操作。


?三、代码编写

注:我手上的ESP8266开发板的AD脚只有一个那就是A0,所以此块开发板的默认AD检测引脚为A0脚。

? ? ? ? PWM:我在这里用板子上的资源弄得呼吸灯循序:灭 ——> 亮 ——> 灭循环,并通过串口打印PWM设定值。

????????示例代码如下:

int i,j;

void setup() {
  pinMode(2, OUTPUT);  
  Serial.begin(115200);
}

void loop(){
    for(j=255;j>1;j=j-5)    //255全部高电平(全亮),0全部低电平(全灭)
    {
      analogWrite(2,j);
      delay(100);
      Serial.print("j="); 
      Serial.println(j);
    }
    for(i=0;i<255;i=i+5)
    {
      analogWrite(2,i);
      delay(100);
      Serial.print("i="); 
      Serial.println(i);
    }
}

? ? ? ? AD:我用的是循迹模块 避障模块 TRCT5000红外漫反射传感器带模拟量输出口,实物如下图所示:

?用A0口检测此模块AO口输出的模拟量,并通过串口打印在电脑上。

????????示例代码如下:

void setup()
{
  // 初始化串口
  Serial.begin(115200);
}
void loop() 
{
// 读出当前光线强度,并输出到串口显示
  int sensorValue = analogRead(0);
  Serial.println(sensorValue);
  delay(1000);
}

?四、编译、烧录、运行

? ? ? ? 在我前一篇博文就介绍了如何编译、烧录,这里就不再过多赘述了,还望谅解!

以下就是项目的运行结果:

PWM:

?AD:

?模块默认输出高电平,当有东西遮挡时就输出低电平。


?结束语

? ? ? ? 关于此次基于Arduino IDE开发的ESP8266(ESP-12F)项目5 ——(高级输入输出)PWM、AD转换项目的介绍就讲到这里了,如果什么问题请再评论区留言。

? ? ? ? 接下来会陆陆续续发布一些其他的教程,敬请期待!感谢大家的支持!如有觉得这篇文章对你有所帮助的,还请点赞、收藏吧!

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:00:44  更:2022-08-06 11:03:18 
 
开发: 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/25 23:41:45-

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