java树莓派温度传感器_树莓派连接DS18B20记录温度

本文介绍了如何使用DS18B20温度传感器连接树莓派并记录温度。通过在DS18B20的2号和3号引脚间跨接电阻,将传感器连接到树莓派的GPIO 4针脚。在Rasbian系统中加载w1-gpio和w1-therm模块后,可以读取传感器数据。温度值可通过读取的数值除以1000转换为摄氏度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近尝试用DS18B20通过连接树莓派来记录温度。DS18B20是一种温度传感器,它很便宜,而且精确度也很高(±0.5°C),即使使用多个传感器时,也只需要占用树莓派的1个针脚来完成数据传输。

c0fb9749017528602f1354426ac6a3b6.png

DS18B20温度传感器接口定义

DS18B20温度传感器

如上图所示,DS18B20温度传感器有三个阵脚,

1脚Ground

2脚Data

3脚3.3v or 5v

从DS18B20的datasheet可以看出,我们需要在引脚2和3之间跨接4.7 k的电阻.

50ba2ced9d35df4e5c9bc4bcb95cb609.png

树莓派读取DS18B20温度传感器数据

Rasbian系统内建在GPIO 4 针脚支持单总线协议(1-wire),这就是我们需要连接DS18B20的针脚。参照下面的电路图把所有的零件连接起来,将DS18B20的1号引脚连接到树莓派的GND,并在DS18B20的2号和3号针脚间跨接一个4.7 k电阻,将DS18B20的3号引脚与树莓派的3.3V连接,然后将DS18B20的2号引脚连接到树莓派的GPIO 4。

6c90a0e31b29703f244cf7d7c9b8a570.png

访问传感器之前,需要试用一下命令加载两个模块:

sudo modprobe w1-gpio

sudo modprobe w1-therm

上面的命令运行后,,看起来什么都没有发生,这是你可以输入以下命令来查看传感器:

ls /sys/bus/w1/devices

这是在我的机器上运行后得到的输出,传感器是由“28”开头的字符串显示的,后面的数字对每个设备都是不同的(这是唯一的地址),所以您看到的也会和我的不一样。

28-000004e53685 w1_bus_master1

要读取传感器的数据使用下面的命令:(需要将XXXXXXX替换您的设备编号)

cat /sys/bus/w1/devices/28-xxxxxxxxxxxx/w1_slave

输出结果中,如果第一行以“YES”结尾,那么温度是可用的,温度的值将在第二行显示,如下:

a6 01 4b 46 7f ff 0a 10 f6 : crc=f6 YES

a6 01 4b 46 7f ff 0a 10 f6 t=26375

得到温度的值后,我们需要换算为摄氏度,可以用2637/1000=26.375c。,也就是将读取的温度值除以1000得到摄氏温度值。至此通过树莓派读取DS18B20温度传感器的值成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值