树莓派pico引出了3个可用的adc引脚,可以实现0~3.3V采样范围,使用analogio模块,同时注意要连接vref和gnd,才能正常使用内部adc(用来采集芯片温度)来正常工作,一开始以为片内的温度传感坏了,具体看下面的例子
输入,使用adc1(GP27)
import time
import board
from analogio import AnalogIn
analog_in = AnalogIn(board.A1)
while True:
i= (analog_in.value * 3.3) / 65536
print(i))
time.sleep(0.1)
输出
import board
from analogio import AnalogOut
analog_out = AnalogOut(board.A1)
while True:
#范围是0~65535,每次变化的步长为64
for i in range(0, 65535, 64):
analog_out.value = i
片内温度有专门的模块,在microcontroller
import microcontroller
i=microcontroller.cpu.temperature
print(i)
注意,以上提到的模块均为内置模块