学物联网,来万物简单IoT物联网!!
ADC 介绍
- 模块功能:
ADC数模转换模块
ADC功能在ESP32引脚32-39上可用,使用默认配置时,ADC引脚上的输入电压必须介于0.0v和1.0v之间(任何高于1.0v的值都将读为4095),如果需要增加测量范围,需要配置衰减器。
接口说明
ADC - 构建ADC对象
- 函数原型:ADC(ch, atten, width)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
ch | object | Y | 创建ADC引脚对象 例如:Pin(32) ESP32只有引脚32-39上可用ADC |
atten | enum | N | 衰减量 ATTN_0DB 默认配置 ATTN_2_5DB ATTN_6DB ATTN_11DB |
width | enum | N | 精度 WIDTH_9BIT WIDTH_10BIT WIDTH_11BIT WIDTH_12BIT默认配置 |
- 返回值:
构建的ADC对象。
atten - 操作ADC的衰减量
- 函数原型:atten(data)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
data | int | N | 设置ADC输入的衰减量,以获取更大的电压测量范围,但是是以精度为代价的。 无参数:返回衰减量 有参数:设置衰减量 ATTN_0DB : 0dB, 最大输入电压为 1.00v ATTN_2_5DB : 2.5dB, 最大输入电压约为 1.34v ATTN_6DB : 6dB 衰减, 最大输入电压约为 2.00v ATTN_11DB : 11dB 衰减,最大输入电压约为 3v |
- 返回值:
无参数:返回衰减量
width - 操作ADC的精度
- 函数原型:width(data)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
data | int | N | 无参数:返回精度 有参数:设置精度 WIDTH_9BIT WIDTH_10BIT WIDTH_11BIT WIDTH_12BIT |
- 返回值:
无参数:返回精度
read - 获取测量的ADC值
- 函数原型:read()
- 参数说明:
无
- 返回值:
ADC测量值 - 代码示例
python
from machine import ADC
adc = ADC(Pin(32)) # 在ADC引脚上创建ADC对象
adc.read() # 读取测量值, 0-4095 表示电压从 0.0v - 1.0v
adc.atten(ADC.ATTN_11DB) # 设置 11dB 衰减输入 (测量电压大致从 0.0v - 3.6v)
adc.width(ADC.WIDTH_9BIT) # 设置 9位 精度输出 (返回值 0-511)
adc.read() # 获取重新配置后测量值, 0-511