类 ADC -- 模数转换¶
构建对象¶
-
class
ADC.ADC(Pin)¶
创建与设定引脚关联的ADC对象。这样您就可以读取该引脚上的模拟值。
Pin- ADC在专用引脚上可用,ESP32可用引脚有:IO39、IO36、IO35、IO33、IO34、IO32。掌控板的ADC引脚有P0、P1、P2、P3、P4、P10。
详细引脚定义可查阅 ESP32引脚功能表. 和 掌控板引脚定义 章节。
示例:
from machine import ADC, Pin
adc = ADC(Pin(33)) # create an ADC object
方法¶
-
ADC.read()¶ 读取ADC并返回读取结果。
-
ADC.atten(db)¶ 该方法允许设置ADC输入的衰减量。这允许更宽的可能输入电压范围,但是以精度为代价(相同的位数现在表示更宽的范围)。在未设置atten(),默认为0DB衰减。可能的衰减选项包括:
db宏定义 衰减量 数值 满量程电压 ADC.ATTN_0DB0dB衰减 0 1V ADC.ATTN_2_5DB2.5dB衰减 1 1.5V ADC.ATTN_6DB6dB衰减 2 2V ADC.ATTN_11DB11dB衰减 3 3.3V
-
ADC.width(bit)¶ 设置数据宽度(分辨率)。ADC的分辨率是指能够将采集的模拟信号转化为数字信号的精度,通常我们用“位”来表述,比如8位就是指ADC可以将制定量程内的电压信号,分别对应到0 - 2^8-1,即 0-255这256个数字上。分辨率位数越高,能够表示的也就越精确,信息丢失的也就越少。
bit- 宽度选项有:宏定义 数值 满量程 ADC.WIDTH_9BIT0 0x1ff(511) ADC.WIDTH_10BIT1 0x3ff(1023) ADC.WIDTH_11BIT2 0x7ff(2047) ADC.WIDTH_12BIT3 00xfff(4095)
示例:
from machine import ADC, Pin
adc = ADC(Pin(34)) # create an ADC object
adc.atten(adc.ATTN_11DB) # set 3.3V Range
x = adc.read()
print(x)