DS18B20 单线数字温度传感器,采用单总线的接口方式 与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。DS18B20 具有体积更小、适用电压宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建自己的经济的测温系统,因此现在使用的越来越广泛。树莓派3代控制器(Raspberry Pi 3)是目前很流行的一款开源嵌入式控制器,它板载wifi和蓝牙,扩展 40 个 GPIO 接口,可以连接传感器等设备,制作物联网设备。那么树莓派3代控制器与DS18B20如何结合使用呢?要如何配合树莓派3的系统呢?这里就给大家介绍一下DS18B20温度传感器与Raspberry Pi 3控制器结合使用的方法。
首先我们需要准备需要使用的硬件,并启动树莓派3控制器
● 使用硬件
○ Raspberry Pi 3 触摸液晶屏版套件
○ 杜邦线
○ DS18B20 温度传感器
● 按照下图进行硬件连接
● 启动 Raspberry Pi 系统,通过 SSH 登陆到树莓派控制器
○ 登陆方法参考教程:
树莓派教程第5课——远程图形化显示
http://www.makerspace.cn/forum.php?mod=viewthread&tid=5665&fromuid=10780
(出处: 中国创客空间联盟-奥松机器人创客空间-Arduino中国社区)
● 系统配置
○ config 文件修改
(1)使用下面命令,进入 config 文件的编辑状态
sudo nano /boot/config.txt
加入语句后使用 Ctrl + X,然后输入 Y,保存修改内容
然后重新启动树莓派控制器,命令:sudo reboot
(3)切换到设备目录,并使用 ls 来查看目录中的文件夹和文件
命令:
cd /sys/bus/w1/devices
ls
(4)运行以下命令,通过 cd 进入目录的编号文件夹(如果你有多个传感器将有多个目录),通过 ls 来查看文件夹中的内容
命令:
cd 28-000007602ffa
ls
(5)使用命令将温度数据显示在终端
命令:
cat w1_slave
这里出现的数据并不是太好,不是我们常用的温度值,需要使用一些数学计算来将这个数据转换成可识别的温度数值,可以编写 Python 代码来运行温度传感器并且输出正常的数据。
● 使用 python 代码读取环境温度
* 使用命令:
cd /home/pi/als (这里 als 文件夹是我在 pi 用户下自己建立的,大家可以自行建立其他名称的文件夹)
进入 als 目录:
* 使用 nano 编译器编写 python 代码:
nano DS18B20.py
* 输入代码:
import os
import glob
import time
os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')
base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'
def read_temp_raw():
f = open(device_file, 'r')
lines = f.readlines()
f.close()
return lines
def read_temp():
lines = read_temp_raw()
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw()
equals_pos = lines[1].find('t=')
if equals_pos != -1:
temp_string = lines[1][equals_pos+2:]
temp_c = float(temp_string) / 1000.0
return temp_c
while True:
print(read_temp())
time.sleep(1)
* 运行代码:
命令:
sudo python DS18B20.py
效果如图所示,在终端输出的为当前环境的摄氏温度
创造源创客,创意自奥松
-----------------------------------------------------------------------------------------------------------------------------------
奥松机器人官网:www.robotbase.cn
秀创客教学视频:supermaker.tv
微信号:奥松机器人
京东:alsrobot.jd.com
淘宝:robotbase.taobao.com
QQ群:16816196(讨论,解惑)
新浪微博:@奥松机器人基地
近期新闻
热门新闻
奥松智能微信