树莓派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)

  1. 进入树莓派软件配置工具
sudo raspi-config
  1. 选择
3.Interface Options
  1. 激活单总线设置
P7 1-Wire

  1. 重启树莓派。重启后,路径 /sys/bus/ 下才会出现 w1 文件夹

2.连接温度传感器DS18B20

  1. 首先使用单总线的接口默认是GPIO04(BCM),若想更换自己选择的端口,则需要在 /boot/config.txt 文件的最后那行中加上 “,gpiopin=你想要的端口”。

如:

dtoverlay=w1-gpio, gpiopin=17

则在GPIO17(BCM)可进行单总线操作。
关于树莓派单总线的相关博客文章

  1. 与树莓派的接线图

    红线————3.3V
    黑线————GND
    黄线————GPIO04(BCM)

四、代码

(1)如下为非代码型查看当前传感器温度:

cd /sys/bus/w1/devices/
ls

一般显示的地址为 28-xxxxxxxxxxxx

cd 28-012029ad0b30
cat w1_slave


最后的 “ t=29750 ” 为当前的温度(摄氏度) X 100 后的结果,所以除以100才是真正的温度(29.75℃)。

(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 linesdef 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.0return temp_cwhile 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中进行显示,这样小车就能有个微型情况显示屏了。
然后还打算装个人体红外传感器,用于感知周围大约一米内是否有人,虽然还没想好到底有什么用,就当是个待扩展功能吧。

树莓派4B-Python-控制DS18B20(温度传感器)相关推荐

  1. 树莓派利用python控制57步进电机

    一.57步进电机参数 二.树莓派利用python控制57步进电机 import RPi.GPIO as GPIO import time# w1,w2,w3,w4,w5,w6 = 0,1,0,0,0, ...

  2. python控制电机_树莓派使用Python控制步进电机

    步进电机和普通电机最大的不同是步进电机可以更加精确地旋转,这个特性使得它们在各种树莓派项目中得到广泛运用. 步进电机选择 市面上有很多步进电机可供选择,最后我们还是决定使用ULN2003控制板和28B ...

  3. (贫民窟系列)Raspberry 树莓派+L298N+Python控制小车

    写在前面: 三年疫情未感染,一朝解封首批阳.高烧和不知道哪里疼的浑身疼搞得有气无力,且被圈在家里无所事事,每天昏昏沉沉,于是决定掏出尘封许久的树莓派玩玩,不搞不要紧,网上一查居然涨价了?话说那算不算是 ...

  4. 树莓派控制DS18B20温度传感器

    DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,它的通信接口采用的是1-Wire(单总线).1-Wire是一种半双工异步的通讯协议(通信双方可以各自约定通信速率 ...

  5. python控制树莓派gpioled,Python 控制树莓派 GPIO 输出:控制 LED 灯

    树莓派 GPIO 控制输出的入门应该都是从控制 LED 灯开始的吧. 树莓派版本:Model 3B+ 树莓派系统:Raspbian Stretch with desktop and recommend ...

  6. 树莓派python_树莓派使用Python控制LCD1602模块

    本文将介绍使用Python通过树莓派控制LCD1602,LCD1602液晶模块相当便宜,关键是它很容易与树莓派(Raspberry Pi)进行接口连接.LCD1602模块有16个引脚,但是我们只需要在 ...

  7. 树莓派4B、Python与三相四线多功能电力仪表通过RS485(modbus RTU协议)收发数据

    树莓派4B+Python与三相四线多功能电力仪表通过RS485(modbus RTU协议)接口发送和接收数据 请耐心把下面的警告⚠️看完 开始之前需要注意以下点:一.那就是安全,生命为本,安全第一.因 ...

  8. 树莓派4b安装windows iot_树莓派4B基于python3安装opencv4全教程

    昨天有同学私信说编译几个小时安装太麻烦,有没有简单点的方法,现在提供两种安装方法 我的环境 树莓派4B python = 3.7.3 操作系统,2020-3 官方最新镜像 1.换国内源(详细步骤看我以 ...

  9. 【室内温度+树莓派性能监控】树莓派+DS18B20温度传感器+0.96寸OLED显示屏使用及安装经验分享

    以下内容为本人原创 原文链接:https://blog.csdn.net/Yhen1/article/details/113760948 作者:@Yhen 发布网站:CSDN 未经本人同意禁止转载,如 ...

  10. 【树莓派】关于树莓派2代,更新最新内核后,DS18B20温度传感器无法找到对应文件的问题的解决

    一.问题和解决方法 问题: 在网上关于DS18B20温度传感器的教程有很多,但大部分都是基于老版本内核的例子.在入手树莓派2代后,加上DS18B20,按照他们的方法就是找不到对应的28-****文件, ...

最新文章

  1. numpy.where用法
  2. Jsp+Servlet+JavaBean经典MVC模式理解
  3. NVIDIA Jetson 系列产品开发相关文档,TAO、TLT、NGC
  4. Stanford机器学习笔记-5.神经网络Neural Networks (part two)
  5. 智能路由器-OpenWRT 系列五 (NAS-SMB家庭共享)
  6. python apriori_python apriori算法代码怎么实现
  7. 光纤交换机是什么,光纤交换机的作用是什么?
  8. UDP套接字编程以及提高UDP可靠性的方法
  9. Zabbix 对接 LDAP 实现用户统一登录的方法
  10. iOS通俗易懂的微信支付接入和爬坑指南,十分钟轻松搞完
  11. php 微信推送提醒,php实现微信模板消息推送
  12. 计算机用老毛桃u盘备份系统,老毛桃u盘启动盘ghost备份系统操作步骤
  13. 金仕达程序化交易平台初步设计
  14. FusionPortable:用于评估不同平台上的定位和建图精度的多传感器校园数据集
  15. MySQL之23:59:59进位
  16. php 继承 父类使用子类,在PHP中使用 来 实现子类和父类之间的继承 。
  17. k8s学习-污点和容忍(概念、模版、创建、删除)
  18. ai为什么要栅格化_AI 效果-栅格化的具体用途是什么
  19. CityMaker学习教程10 示例代码的使用Javascript
  20. 【已开源】Qt 艾宾浩斯(Ebbinghaus)记忆 软件

热门文章

  1. 大数据与云计算学习计划 (一) 云计算系统管理 3 Linux系统命令行基础 (概念与实操)
  2. python 实现验证码识别
  3. Windows IPC 连接详解
  4. 计算机网络期末复习资料(一)
  5. <input>标签构建快递信息界面(HTML+CSS)
  6. Windows 注册表操作 reg 命令详解
  7. myeclipse下载git中的代码步骤
  8. H5页面跳转传递参数过长
  9. Android 仿微信聊天气泡
  10. java配置文件properties_关于Java配置文件properties的学习