ESP32 ADC(模拟输入)功能详解
创作时间:
作者:
@小白创作中心
ESP32 ADC(模拟输入)功能详解
引用
CSDN
1.
https://blog.csdn.net/weixin_51358957/article/details/137603964
ESP32的ADC(模拟输入)功能允许开发者测量0V至3.3V之间的电压,具有12位分辨率。本文将详细介绍ESP32的ADC引脚定义、使用方法以及相关代码示例。
引脚定义
ESP32的模拟输入(ADC)功能的引脚可以测量0V至3.3V之间的不同电压,这些引脚具有12位分辨率,所以可以将测量的电压分配给0到4095之间的值,其中0V对应于0,3.3V对应于4095。
ESP32支持18个不同通道的测量,在ESP-WROOM-32中引出15个,图中用红色方框圈出。需要注意的是采集的ADC是非线性的,无法区分0V和0.1V以及3.2V和3.3V的电压:
使用Wi-Fi时不能使用ADC2引脚,无法从ADC2 GPIO获取值。
代码示例
ESP32读取ADC的函数为:
analogRead(pin);
以下是一个读取电位器值的示例代码:
// 电位器连接 GPIO 34 (ADC1_CH6)
const int potPin = 34;
int potValue = 0; // 存储电位器读取量
void setup()
{
Serial.begin(115200);
delay(1000);
}
void loop()
{
potValue = analogRead(potPin); // ADC 读取电位器
Serial.println(potValue);
delay(500);
}
ADC引脚其他功能
analogReadResolution(resolution):设置analogRead返回值的分辨率,默认12位(范围从0到4096)。参数介于9(0-511)和12(0-4095)之间。analogSetWidth(width):设置analogRead返回值的分辨率,默认12位(范围从0到4096)。参数介于9(0-511)和12(0-4095)之间。analogSetClockDiv(attenuation):设置ADC时钟分频器,默认值1。参数范围:1到255。analogSetAttenuation(attenuation):设置所有ADC通道输入衰减,默认值ADC_11db。参数值:ADC_0db:无衰减。ADC的测量电压约为800mV(1V输入=ADC读数1088)ADC_2_5db:ADC输入电压衰减,将测量范围扩展到约1100mV。(1V输入=ADC读数3722)ADC_6db:ADC输入电压衰减,将测量范围扩展到约1350mV。(1V输入=ADC读数3033)ADC_11db:ADC输入电压衰减,将测量范围扩展到约2600mV。(1V输入=ADC读数1575)analogSetPinAttenuation(pin, attenuation):设置指定引脚输入衰减。默认值ADC_11db。衰减值与上一个函数相同。adcAttachPin(pin):将引脚连接到ADC(同时清除可能打开的任何其他模拟模式),返回TRUE或FALSE结果。
热门推荐
像素越高越清楚?这次真正理解画质与像素关系
春节:从传统到现代,从中国到世界
舞动千年:中国新年里的舞狮舞龙
为何中国核电机组成本这么低?法媒:国家援助是欧洲核工业未来的核心
《和平精英》地铁逃生:团队配合与战术要点详解
手机摄像头的进化:从像素到多摄像头的影像革命
深度剖析AI伦理:强化隐私防线,推动算法公平性的核心议题
地铁逃生BOSS战:新手终结者威尔上校怎么打?
冬季手机充电小妙招:告别冰冷和过热
快速充电让手机变暖手宝?真相揭秘!
国家反诈中心App使用指南:来电预警功能如何开启?
文本如何批量生成活码?在线的活码二维码批量制作方法
AI伦理治理新思维:外滩大会聚焦全球人工智能发展
蒋龙毕雯珺新作《时光代理人》追剧日历
《时光代理人》第二季开播!苏尚卿&杨天翔双主役合作再续精彩
B站新剧《时光代理人》:职场整顿刀到肉!
《时光代理人》真凶篇:悬疑与推理的双重解读
《时光代理人》:一部以现实主义取胜的国漫佳作
委内瑞拉玻利瓦尔汇率飙升,你猜对了吗?
委内瑞拉通胀危机:现状、成因与出路
立春将至 哪些户外运动适合老年人?专家推荐这几种
渣男套路深?教你用法律武器反击!
节日习俗如何影响家庭与社区的团聚
被渣男伤害后,如何快速恢复?
《影后》中的渣男心理:从剧情到现实的情感启示
北宋农民起义:赋税过重引发的悲剧
《水浒传》背后:宋江起义的军事智慧
方腊起义:两宋农民起义的缩影
地铁逃生龙珠版本震撼上线!
泉州开元寺新开放时间出炉!