小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 5786|回复: 0

树莓派+温度传感器获取温度数据

[复制链接]
发表于 2017-2-15 16:00:04 | 显示全部楼层 |阅读模式
本帖最后由 makersky 于 2017-2-15 17:56 编辑

DS18b20数字温度传感器是一款能实时测量温度、输出数字信号的传感器。

实验原理
1、该模块使用的是单总线数字温度传感器 DS18B20,外界供电电压范围为 3.0 V 至 5.5 V,无需备用电源。 测量温度范围为-55 ° C 至+125 ℃ , 华氏相当于是67 °F 到 257°F,-10 C 至+85 °C 范围内精度为±0.5 °C 。
2、 温度传感器可编程的分辨率为 9~12 位 温度转换为 12 位数字格式最大值为 750 毫秒用户可定义的非易失性温度报警设置。
3、每一个 DS18B20 的包含一个独特的序号,多个 ds18b20s 可以同时存在于一条总线。
温度传感器可同时放置在多个不同的地方检测温度。

实验步骤
找出 DS18B20 温度传感器的电源线,地线和数据线。
IMG_20170215_154338-change.jpg
图中,传感器最左边的接口接GND地线,中间的电源线接树莓派的3.3V,最右边的数据线接树莓派的7号管脚(GPIO4)。



IMG_20170215_154155-change.jpg
如图,用杜邦线将温度传感器的电源线和地线分别连到树莓派的3.3V,GND 端口,数据线连至树莓派的7号管脚(GPIO4)。

timg.jpg
如果用的是这种DS18B20温度传感器的话,按照下图的方式和树莓派接线,关键是要分清传感器的电源线、地线和数据线。
20131003214031676.png

温度传感器和树莓派接好线以后,将树莓派用一根网线和电脑连接,然后给树莓派通电。
电脑通过SSH和树莓派连接,连接的过程请参考这个帖子:http://www.wifi-robots.com/thread-8832-1-1.html
在putty软件的窗口里输入命令,确认硬件连接是否生效并读取温度:
1、首先升级内核(可忽略,但如果版本较老,可能影响设备读取)
  1. apt-get update
  2. apt-get upgrade
复制代码
2、确认设备是否生效
  1. sudo modprobe w1-gpio
  2. sudo modprobe w1-therm
  3. cd /sys/bus/w1/devices/
  4. ls
复制代码
输入命令后显示的结果:
  1. pi@raspberrypi:~$ cd /sys/bus/w1/devices/
  2. pi@raspberrypi:/sys/bus/w1/devices$ ls
  3. 28-80000026b594 w1_bus_master1
复制代码
需要注意的是,28-80000026b594就是笔者外接的温度传感器设备,但并不是每个客户端都显示一样的,这个是传感器的序列号。

3、查看当前温度
  1. 28-80000026b594
  2. cat w1_slave
复制代码
显示结果:
  1. 70 01 4b 46 7f ff 10 10 e1 : crc=e1 YES
  2. 70 01 4b 46 7f ff 10 10 e1 t=23750
复制代码
第二行的t=23750就是当前的温度值,要换算成摄氏度,除以1000,即当前温度为23750/1000=23.75摄氏度。

全部命令输入后的显示结果如下图所示:
温度传感器数据.jpg

4、但是,这只是通过输入命令显示实时的传感器数据,如何能够自动打印传感器的温度数据呢?
下面的python程序能每秒打印华氏和摄氏温度:
py代码.jpg

将这个程序保存并命名为“temperature.py”,通过下面的命令运行程序:
  1. sudo python3 temperature.py
复制代码
程序正常运行后的结果如下图所示:
树莓派读取温度数据.jpg
每秒显示一行数据,每一行的前一个数字是摄氏度,后一个数字是华氏度。

大家如果感兴趣,还可以修改这个python程序,将温度传感器采集到的数据存储在一个文件里面。

temperature.zip (528 Bytes, 下载次数: 14)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-11-22 23:46 , Processed in 1.119596 second(s), 21 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表