树莓派与DS18B20温度传感器模块的使用

好久不见鸭,时隔半年,树莓派菜鸟再次写起博客

树莓派与DS18B20温度传感器模块的使用

其实树莓派内置了驱动文件,可以直接通过一些命令读取温度传感器的温度,所以使用起来很简单,下面来示范一下。

所用材料

树莓派X1
DS18B20温度传感器模块X1
母对母杜邦线X3

接线图

首先了解一下DS18B20温度传感器模块
其中out引脚用来读入温度数据
在这里插入图片描述

再来了解一下树莓派的gpio引脚
在这里插入图片描述
看总体接线图
在这里插入图片描述

代码

开机进入终端输入
1.进入/sys/bus/w1/devices目录

cd  /sys/bus/w1/devices

2.查看是否有类似于28-0316a279a3e8的文件,若有直接跳到第4步

ls

3.若无,运行以下命令及修改/boot/config.txt文件

cd
sudo modprobe w1_gpio
sudo modprobe w1_therm    #注意w1,1是数字1   

进入/boot/config.txt文件

sudo nano /boot/config.txt

在最后一行添加以下内容

dtoverlay=w1_gpio-pullup,gpiopin=4  #一定要检查是否正确,若正确重启树莓派

4.进入目录/sys/bus/w1/devices/

cd /sys/bus/w1/devices

看看是否有类似28-0316a279a3e8的文件,每个人的文件名是不一样的,
我的是28-0316a279a3e8,若有运行以下命令

cat ./28-0316a279a3e8/w1_slave

在这里插入图片描述
可以看到两行数据,其中最后一个t=25500除以1000就是温度啦
5.下面我们来写个简单的Python脚本让它直接输出最后一个正确温度数据吧
我将脚本写在桌面

nano temperature.py

代码如下

tfile = open("/sys/bus/w1/devices/28-0316a279a3e8/w1_slave")
text =  tfile.read()
tfile.close()
secondline=text.split("\n")[1]
temperaturedata = secondline.split(" ")[9]
temperature = float(temperaturedata[2:])
temperature = temperature / 1000
print (temperature)

按下Ctrl+o保存,回车,Ctrl+x退出
运行脚本

sduo  temperature.py

如果顺利你就可以看到一个温度数据啦!
有问题的小伙伴可以在下方留言哦!本菜鸟积极解答
记得关注我喔,不定时更新一些关于树莓派以及linux的文章,分享更有趣的项目教学。

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值