好久不见鸭,时隔半年,树莓派菜鸟再次写起博客
树莓派与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的文章,分享更有趣的项目教学。