MicroPython ESP32心率传感器
-
ADC&Pin类库的导入
from machine import ADC,Pin import time
-
ADC功能相关的函数
>>>help(ADC) object <class 'ADC'> is of type type init -- <function> block -- <function> read -- <function> #读取ADC的值 read_u16 -- <function> read_uv -- <function> atten -- <function> #这个函数允许设置ADC输入的衰减量,这允许更大的输入电压范围,但代价是精度(在相同的比特数代表更大的范围) width -- <function> #这个函数允许设置ADC利用的位数(ADC精度) ATTN_0DB -- 0 #0dB 衰减,最大输入电压为1v,这是默认配置 ATTN_2_5DB -- 1 #2.5dB 衰减, 最大输入电压约为1.34v ATTN_6DB -- 2 #6dB 衰减, 最大输入电压约为2.00v ATTN_11DB -- 3 #11dB 衰减, 最大输入电压约3.6v WIDTH_9BIT -- 9 #9 bit data精度(512) WIDTH_10BIT -- 10 #10 bit data精度(1024) WIDTH_11BIT -- 11 #11 bit data精度(2048) WIDTH_12BIT -- 12 #12 bit data精度(4096)
-
示例代码
from machine import Pin, ADC import time pot = ADC(Pin(34)) #定义34脚为ADC脚(在32~39上可用),可以读取模拟电压 pot.width(ADC.WIDTH_12BIT) #读取的电压转为0-4096;ADC.WIDTH_9BIT:0-511 pot.atten(ADC.ATTN_11DB) #衰减设置范围:输入电压0-3.3v # while True: for i in range(1000): #3.3 =3300mv 3300mv/4096* pot_value = pot.read()//4 #使读取的电压变为0-1024 print(pot_value) #打印出读取到的电压以便调试 time.sleep_ms(100)