使用树莓派Pico的RP2040微控制器内置温度传感器

电子说

1.3w人已加入

描述

树莓派 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 变成了温度计!

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分