网站首页 > 编程文章 正文
ESP8266-12E 和 ESP8266-07 都有一个易于访问的 ADC 引脚。这意味着那些 ESP8266 板可以读取模拟信号。在本教程中,我们将向您展示如何使用 Arduino IDE、MicroPython 或 Lua 固件在 ESP8266 上使用模拟读取。
ESP8266 ADC 规格
当提到 ESP8266 ADC 引脚时,您经常会听到这些不同的术语:
- ADC(模数转换器)
- 出口
- 引脚6
- A0
- 模拟引脚 0
所有这些术语均指 ESP8266 中的同一引脚,下一节将重点介绍。
ESP8266 ADC 分辨率
ADC 引脚具有 10 位分辨率,这意味着您将获得 0 到 1023 之间的值。
ESP8266 输入电压范围
如果您使用裸芯片,ESP8266 ADC 引脚输入电压范围为 0 到 1V。然而,大多数 ESP8266 开发板都带有内部分压器,因此输入范围为 0 到 3.3V。所以,总而言之:
- ESP8266 开发板中的 ADC 电压范围:0 至 3.3V(例如:ESP8266 12-E NodeMCU Kit、WeMos D1 Mini ......)
- ESP8266 芯片中的 ADC 电压范围:0 到 1V(例如:ESP-07 芯片、ESP-12E 芯片……)
ESP8266 模拟引脚
使用 ESP8266 12-E NodeMCU 套件和其他 ESP8266 开发板,访问 A0 非常容易,只需将跳线连接到引脚(见下图)。
如果您使用的是 ESP8266 芯片,例如 ESP8266-07,则需要在该引脚上焊接一根电线。
ESP-07
所需零件
为了向您展示如何使用 ESP8266 进行模拟读取,我们将从电位器读取值。为此,您需要在电路板上连接一个电位器。
这是完成本教程所需的硬件:
- 推荐:ESP8266-12E NodeMCU Kit(阅读ESP8266开发板对比)
- 备选方案:1x ESP8266-07 芯片或 1x ESP8266-12E 芯片+ FTDI 编程器
- 100 欧姆电阻(如果您使用裸芯片则需要)
- 220 欧姆电阻(如果您使用裸芯片则需要)
- 1k欧姆电位器
- 面包板
- 跳线
原理图,示意图
如果您使用的是 ESP8266 开发板,请按照下一个原理图进行操作。
如果您使用的是输入电压范围为 0V 到 1V 的ESP8266 芯片,您需要确保 A0 引脚上的输入电压不超过 1V。因此,您需要一个分压器电路,如下图所示。
我们使用的是 100 欧姆和 220 欧姆的电阻,因此 Vout 为 1V。
1. 使用 Arduino IDE 的 ESP8266 模拟读取
本节介绍如何使用 Arduino IDE 使用 ESP8266 读取模拟值。
将以下代码复制到您的 Arduino IDE。
/*********
Rui Santos
Complete project details at https://randomnerdtutorials.com
*********/
const int analogInPin = A0; // ESP8266 Analog Pin ADC0 = A0
int sensorValue = 0; // value read from the pot
void setup() {
// initialize serial communication at 115200
Serial.begin(115200);
}
void loop() {
// read the analog in value
sensorValue = analogRead(analogInPin);
// print the readings in the Serial Monitor
Serial.print("sensor = ");
Serial.print(sensorValue);
delay(1000);
}
代码首先声明 ESP8266 模拟引脚模拟输入引脚多变的:
const int analogInPin = A0; // ESP8266 Analog Pin ADC0 = A0
电位器值将存储在传感器值多变的:
int sensorValue = 0; // value read from the pot
在里面设置(),初始化串行监视器以进行调试:
void setup() {
// initialize serial communication at 115200
Serial.begin(115200);
}
在里面环形(),我们通过使用模拟读取()函数并传递模拟输入引脚作为论据。该值保存在传感器值多变的:
sensorValue = analogRead(analogInPin);
最后,读数显示在串行监视器上,这样您就可以实际看到发生了什么。
Serial.print(sensorValue);
上传代码
将之前的代码上传到 ESP8266。确保您选择了正确的板和 COM 端口。转到工具> 板并选择您正在使用的 ESP8266 型号。在我们的案例中,我们使用的是 ESP8266 12-E NodeMCU 套件。
转到工具>端口并选择 ESP8266 连接到的 COM 端口。
按下 Arduino IDE 上传按钮。
注意:如果您使用的是 ESP-07 或 ESP-12E 芯片,则需要FTDI 程序员来上传代码。
示范
上传代码后,以 115200 的波特率打开串行监视器。应显示模拟读数。
旋转电位器并查看值增加或减少。
猜你喜欢
- 2024-10-21 NodeMCU使用AiThinkerIDE_V0.5开发小记
- 2024-10-21 基于ESP8266的WIFI模块(含源代码)
- 2024-10-21 你家的智能咖啡机可被轻松黑掉,阻止办法只有拔插头
- 2024-10-21 ESP8266自动下载电路分析(esp8266下载接线)
- 2024-10-21 esphome安装过程图文记录(esp homekit)
- 2024-10-21 FireBeetle ESP8266,专为物联网设计的低功耗开发套件,开发必备
- 2024-10-21 可用作Zigbee路由器的Sonoff ZBBridge网关
- 2024-10-21 ESP8266 天气小工具 V2.0(esp8266 oled天气)
- 2024-10-21 在ESP8266和树莓派4开发板上使用Qoitech Otii开发工具入门
- 2024-10-21 ESP-8266调试所需工具(esp8266调试工具v2.1)
你 发表评论:
欢迎- 05-09Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 05-09《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- 05-09MapStruct架构设计(mapstruct @mapping)
- 05-09分布式微服务架构组件(分布式微服务架构设计)
- 05-09Java Swing组件下的JButton实例(java swing 组件)
- 05-09java基础都在这了,小主们拿去吧(java基础是指什么)
- 05-09AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 05-09【Spring Boot】WebSocket 的 6 种集成方式
- 最近发表
-
- Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- MapStruct架构设计(mapstruct @mapping)
- 分布式微服务架构组件(分布式微服务架构设计)
- Java Swing组件下的JButton实例(java swing 组件)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 【Spring Boot】WebSocket 的 6 种集成方式
- Java 中五种最常见加密算法:原理、应用与代码实现
- 用注解进行参数校验,spring validation介绍、使用、实现原理分析
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)