目录

前言

        一、新建工程

        二、项目函数介绍   

                1.PWM函数

                2.AD函数                       

        三、代码编写

        四、编译、烧录、运行

结束语


前言

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

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


 一、新建工程

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

更改esp8266 pwm频率 esp8266几路pwm_更改esp8266 pwm频率

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

更改esp8266 pwm频率 esp8266几路pwm_更改esp8266 pwm频率_02

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


二、项目函数介绍

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 pwm频率 esp8266几路pwm_更改esp8266 pwm频率_03

更改esp8266 pwm频率 esp8266几路pwm_嵌入式硬件_04

更改esp8266 pwm频率 esp8266几路pwm_程序设计_05

注:我手上的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红外漫反射传感器带模拟量输出口,实物如下图所示:

更改esp8266 pwm频率 esp8266几路pwm_嵌入式硬件_06

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

        示例代码如下:

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

 四、编译、烧录、运行

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

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

PWM:

更改esp8266 pwm频率 esp8266几路pwm_单片机_07

 AD:

更改esp8266 pwm频率 esp8266几路pwm_程序设计_08

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


 结束语

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

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