使用树莓派 Pico 内置的温度传感器

树莓派 Pico 的 RP2040 微控制器内置了温度传感器,它可以通过第四个模拟数字转换器通道读取。像电位器一样,传感器的输出是一个可变的电压,随着温度的变化,电压也随之变化。

启动新程序,导入 machine 和 utime 库:

import machine
import utime 

再次设置模拟-数字转换器,但这一次不是使用一个引脚的编号,而是使用连接到温度传感器
的通道编号:

sensor_temp = machine.ADC(4)

将传感器的原始读数转换为电压值:

conversion_factor = 3.3 / (65535)

然后设置一个循环从模拟输入中获取读数,应用转换因子,并将它们存储在一个变量中:

while True:
reading = sensor_temp.read_u16() * conversion_factor

你还需要进行第二次转换,取模拟数字转换器报告的电压并将其转换为摄氏度:

temperature = 27 - (reading - 0.706)/0.001721

这是另一个数学公式,是 RP2040 中特定于温度传感器的公式。

最后,代码如下:

import machine
import utime

sensor_temp = machine.ADC(4)
conversion_factor = 3.3 / (65535)

while True:
	reading = sensor_temp.read_u16() * conversion_factor
	temperature = 27 - (reading - 0.706)/0.001721
	print(temperature)
	utime.sleep(2)

单击 Run 按钮并将程序保存为 Temperature.py。观察 Shell 区域,你会看到打印的温度数值,其单位是摄氏度。

试着用你的指尖轻轻放在 RP2040 芯片上,温度将上升。把手指从芯片上拿开,温度就会再次下降。

恭喜你!你已经把你的 Pico 变成了温度计!

你还可以:
查看系列教程中的其他文章「树莓派 Pico 上手指南(在 Pico 上使用 MicroPython)」
购买本教程所用到的 Pico 上手套件



1 评论

发表评论

你的邮件地址不会公开


*