树莓派4B |
您所在的位置:网站首页 › Iabp传感器未打开 › 树莓派4B |
树莓派4B-Python-控制DS18B20
文章目录
树莓派4B-Python-控制DS18B20前言一、DS18B20模块二、参数介绍三、与树莓派连接1.打开单总线(1-wire)2.连接温度传感器DS18B20
四、代码2.输出数据
总结
前言
该文章也是与最近制作的V4小车有关,打算将温度传感器也安装到小车上,用于稍微的增加小车的附加功能吧。 一、DS18B20模块
DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。 二、参数介绍以下为百度百科的引用内容: 技术性能描述: ①、** 独特的单线接口方式**,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 ② 、测温范围 -55℃~+125℃,固有测温误差(注意,不是分辨率,这里之前是错误的)1℃。 ③、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 ④、工作电源: 3.0~5.5V/DC (可以数据线寄生电源) ⑤ 、在使用中不需要任何外围元件 ⑥、 测量结果以9~12位数字量方式串行传送 ⑦ 、不锈钢保护管直径 Φ6 ⑧ 、适用于DN15~25, DN40~DN250各种介质工业管道和狭小空间设备测温 ⑨、 标准安装螺纹 M10X1, M12X1.5, G1/2”任选 ⑩ 、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。 三、与树莓派连接 1.打开单总线(1-wire) 进入树莓派软件配置工具 sudo raspi-config 选择 3.Interface Options 激活单总线设置 P7 1-Wire如: dtoverlay=w1-gpio, gpiopin=17则在GPIO17(BCM)可进行单总线操作。 关于树莓派单总线的相关博客文章 与树莓派的接线图![]() (1)如下为非代码型查看当前传感器温度: cd /sys/bus/w1/devices/ ls一般显示的地址为 28-xxxxxxxxxxxx
(2)如下为写成代码形式: #!/usr/bin/python3 import os import time device_file ='/sys/bus/w1/devices/28-012029ad0b30/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('当前温度是%f'%read_temp(),'度') time.sleep(0.5) 2.输出数据结果如下所示: Python 3.7.3 (/usr/bin/python3) >>> %Run DS18B20.py 当前温度是30.375000 度 当前温度是30.312000 度 当前温度是30.312000 度 当前温度是30.250000 度 总结有点感觉该程序不能实时显示温度,它会有大约0.5S的变化延迟。 之后打算将此温度放于OLED中进行显示,这样小车就能有个微型情况显示屏了。 然后还打算装个人体红外传感器,用于感知周围大约一米内是否有人,虽然还没想好到底有什么用,就当是个待扩展功能吧。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |