ESP8266使用ADC(模拟输入)

ESP8266 ADC(模拟输入)

ESP8266-12E 和 ESP8266-07 都有一个易于访问的 ADC 引脚。这意味着这些 ESP8266 板可以读取模拟信号。

image-20210207104525192

ESP8266 ADC 规格

在参考 ESP8266 ADC 引脚时,您经常会交替听到这些不同的术语:

  • ADC(模拟数字转换器)
  • TOUT
  • Pin6
  • A0
  • Analog Pin 0

所有这些术语都引用 ESP8266 中的同一针脚。

ESP8266 ADC 分辨率

ADC 引脚具有 10 位分辨率,也就是210 ,所以我们可以获得介于 0 和 1023 之间的值。

ESP8266 输入电压范围

如果使用裸芯片,ESP8266 ADC 引脚输入电压范围为 0 至 1V。但是,ESP8266 开发板都配有内部分压器,因此输入范围为 0 至 3.3V。

  • ESP8266 开发板中的 ADC 电压范围:0 至 3.3V(例如:ESP8266 12-E NodeMCU 套件、WeMos D1 Mini、...)
  • ESP8266 芯片中的ADC电压范围:0至1V(例如:ESP-07芯片、ESP-12E芯片等)

ESP8266 模拟引脚

借助 ESP8266 12-E NodeMCU 套件和其他 ESP8266 开发板,只需将跳线连接到引脚即可轻松访问 A0(请参见下图)。

image-20210207104856051

需要零件

为了向您展示如何在 ESP8266 中使用模拟读数,我们将从电位计读取值。为此,您需要将电位计连接到您的电路板。

以下是完成本教程所需的硬件:

  • 推荐: ESP8266-12E NodeMCU 套件
  • 替代:1x ESP8266-07 芯片或 1x ESP8266-12E 芯片+ 串口下载线CH340G模块
  • 100 欧姆电阻器(如果您使用裸芯片,需要)
  • 220 欧姆电阻器(如果您使用裸芯片,需要)
  • 1k 欧姆电位计
  • 面包板
  • 跳线

示意图

如果您使用的是 ESP8266 开发板,请按照下一个示意图操作。

image-20210207105101419

如果使用的ESP8266 芯片的输入电压范围为 0V 至 1V,则需要确保 A0 引脚上的输入电压不超过 1V。因此,您需要一个分压器电路,如下所示。

image-20210207105151720

我们使用的是 100 欧姆和 220 欧姆电阻器,因此 Vout 是 1V。

img

使用 Arduino IDE

首先要在 Arduino IDE 中安装 ESP8266的支持库文件

为了将代码上传到 ESP8266,您需要先安装 ESP8266 加载项(如果尚未安装)。按照下一教程操作:

const int analogInPin = A0;  //ESP8266模拟引脚ADC0,也就是A0

int sensorValue = 0;  

void setup() {
  // 初始化串口的波特率为115200
  Serial.begin(115200);
}

void loop() {
  //读取模拟数值
  sensorValue = analogRead(analogInPin);
 
  // 打印串行监视器中的读数
  Serial.print("sensor = ");
  Serial.print(sensorValue);
  
  delay(1000);
}

上传代码后,以 115200 的波特率打开串行监视器。

image-20210207105816436

旋转电位计,查看值增加或减少。

原文地址:https://www.cnblogs.com/cuianbing/p/14409056.html