ADC(模拟数字转换器)可将时间连续,幅值也连续的模拟信号转换为时间离散,幅值也离散的数字信号。

  1. machine.ADC(id)

    ADC对象构造函数

    id为树莓派pico的GPIOPin()对象,也可以是0,1,2,3,4

    • 0对应的是树莓派picoGPIO26
    • 1对应的是树莓派picoGPIO27
    • 2对应的是树莓派picoGPIO28
    • 3对应的是树莓派picoGPIO29
    • 4对应的是芯片内部的温度传感器模块
  2. 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

最后修改:2023 年 01 月 02 日
如果觉得我的文章对你有用,请随意赞赏