请注意,本文编写于 944 天前,最后修改于 719 天前,其中某些信息可能已经过时。
ADC(模拟数字转换器)可将时间连续,幅值也连续的模拟信号转换为时间离散,幅值也离散的数字信号。
machine.ADC(id)
ADC对象构造函数
id为树莓派pico的GPIOPin()对象,也可以是0,1,2,3,4
- 0对应的是树莓派picoGPIO26
- 1对应的是树莓派picoGPIO27
- 2对应的是树莓派picoGPIO28
- 3对应的是树莓派picoGPIO29
- 4对应的是芯片内部的温度传感器模块
ADC.read_u16()
读取对应通道ADC数值,返回的不是读取的
值,是进过处理的数值范围是0~65535
ADC电压公式:
$$Voltage = \frac{ReadData * 3.3}{65535}$$
编程:
读取芯片温度并每0.5秒输出一次
树莓派官方提供的温度计算公式:
$$ Temperature = 27 - \frac{ADCVoltage-0.706}{0.001721} $$
#导入库
from machine import Pin,ADC
from time import sleep
#循环
while True:
temperature = ADC(4)#定义ADC对象
temperature = temperature.read_u16()#读取通道4的ADC的数值
voltage = temperature * 3.3 / 65535#带入ADC电压公式计算通道4的电压
temperature = 27 - (voltage - 0.706)/0.001721#带入温度计算公式计算温度
print(temperature)#输入温度
sleep(0.5)#等待0.5s