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

    科技2022-07-21  115

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

    树莓派与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的文章,分享更有趣的项目教学。

    Processed: 0.010, SQL: 8