0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样连接DS18B20并在微型OLED显示屏上显示温度和华氏温度

454398 来源:网络整理 作者:网络整理 2019-11-13 17:29 次阅读

步骤1:DS18B20的简要介绍数字温度传感器IC

怎样连接DS18B20并在微型OLED显示屏上显示温度和华氏温度

DS18B20是一款能够测量温度并提供直接数字信号的温度传感器IC,即与LM35等其他温度传感器不同,它可以直接发送温度读数到任何微处理器微控制器或个人计算机。

主要功能:-

****可测量-55°C至+ 125°C(-67°F至+257)的温度°F)±0.5°C -10°C至+ 85°C的精度

****可以在9位至12位数字信号之间设置测量精度(不影响读取时间) )。

**它具有警报功能,具有用户可编程的上下触发点,非易失性。即,当温度达到某个较低或较高的阈值设定点时,可以将其编程为触发外部警报或恒温器以分别指示或控制任何外部设备。即使传感器断电,这些设定点仍保留在其存储器中。

**它通过1-Wire®总线进行通信,根据定义,该总线仅需要一条数据线(和地线)即可与之通信。

**此外,DS18B20可以直接从数据线获取电源(“寄生电源”),而无需外部电源。

**如果要使用外部电源运行,则可以在+3.0 V至+ 5.5V之间运行。这使其与3.3V IC(如Arduino Due,esp8266等)以及5V IC(如Arduino Uno,Nano等)兼容。

**每个DS18B20都有唯一的64位串行代码,该代码可允许多个DS18B20可在同一1-Wire总线上工作。因此,使用一个微处理器控制分布在大面积上的许多DS18B20很简单。

**不需要外部电路,除了某些情况下需要10k上拉电阻

可以从此功能中受益的应用包括HVAC环境控制,温度监控系统

步骤2:DS18B20引脚连接

DS18B20来了以不同的形式包装。它以IC或ebay,aliexpress等形式出现,我们可以找到非常便宜的封装版本。我使用的是从aliexpress.com订购的钢封装(在我的博客上提供的链接以及此说明的结尾)

**如果您使用的是TO-92封装,即显示的裸IC表格在附加的图像中,引脚排列为-左接地,中间DQ或数据,右VCC(我分别将这些行编码为黑色,黄色,红色以匹配封装形式的导线编码)

**通常,黑色线是接地线,红色是+ ve VCC(+3.0至+ 5.5V),黄色线是DQ或数据线。在我们的情况下,红色线将达到NodeMCU的+ 3.3V或外部电源具有3.3V稳定电压。

**在黄色DQ线和+ VCC之间连接了一个大约4.7K欧姆的上拉电阻(可以使用接近4.7K的任何其他值)(有时,

** DQ或数据(黄色)线应连接到我们的微控制器,即NodeMCU数字输入引脚。在我们的情况下,它连接到D1或GPIO 5 [注意-NodeMCU板和实际ESP8266 IC的引脚映射不同,请参阅我以前的说明以了解NodeMCU,ESP8266和Arduino IDE之间的引脚映射的详细信息

另一个重要说明-避免将DQ或数据线连接到NodeMCU的D0引脚,我注意到,如果我们将DQ线与D0处的外部上拉相连,则在编程/上载代码时会出错针/GPIO16。

第3步:使用NodeMCU连接OLED显示屏(在SPI模式下)

最初,我在努力使自己的体积变得很小OLED显示器可与NodeMCU一起使用。经过大量的努力,终于找到了正确的引脚连接,如图所示。

我在这里和这里都使用了Adafruit OLED显示库。您需要首先安装这两个库才能使OLED显示器正常工作。

注-我尝试过几次将自己喜欢的U8GLIB库用于OLED显示器,但是失败了。最后,我在某处读到了使用arduino IDE与ESP8266接口的U8GLIB库存在一些问题。如果您正在使用ESPLORER之类的其他IDE,那么u8GLIB可以正常工作-如我的视频所示。

不要忘记在代码中调用的构造函数中插入正确的引脚号。

#define OLED_SDA D7//MOSI

#define OLED_SCL D5//CLK

#define OLED_DC D4//DC

#define OLED_CS 12//不需要将任何东西连接到此引脚,只需使用一些引脚号

#define OLED_RESET D3//RES

//这是构造函数来调用

Adafruit_SSD1306显示屏(OLED_SDA,OLED_SCL,OLED_DC,OLED_RESET,OLED_CS);

有关接口的更多信息,请参见我的博客文章和youtube视频。

步骤4:整个系统的电路图

最终的完整电路图如图所示。

我已经通过NodeMCU的3.3V输出为DS18B20和OLED显示器供电。您也可以使用外部电源。

一些有时会遇到问题的技巧-

因为,esp8266是耗电设备,如果您遇到无法上传草图的问题,只需断开DS18B20 VCC引脚,直到草图完全上传即可上载草图后再重新连接。

OR

我注意到,即使成功上传了草图几次,显示剂量仍会显示任何温度。一种解决方案是在上载草图后重新启动NodeMCU。可以通过按NodeMCU上的Reset(重置)按钮或仅移除VCC或USB电缆并重新连接来完成电源重置。

第5步:代码/草图,库和链接

在此处可以找到arduino IDE的工作代码(带有注释-解释)。我的博客文章或以下.ino文件附件。

该项目中使用的所有库也都附在

下的.rar文件中(或者您可以使用以下链接下载库)

可在此处获得最新的Arduino IDE

https://www.arduino.cc/en/Main/Software

------- -------------------------------------------------- -------------------------------------------------- -----------------

用于arduino IDE和DS18B20的库在此处作为达拉斯温度库提供。

https://github.com/milesburton/Arduino-Temperature 。..

Adafruit的OLED显示库可在此处和此处

https://github.com/adafruit/Adafruit_SSD1306

https://github.com/adafruit/Adafruit-GFX-Library

在上传草图之前安装所有这三个库

---------------------------------------- -------------------------------------------------- -

DS18B20购自banggood.com的aliexpress和nodeMCU

第6步:最终示例和与商用温度传感器的比较

我检查了我们系统测量的OLED显示屏上显示的温度,并将其与商用温度传感器读取的温度进行了比较。温度测量在很大的温度范围内都非常准确。显然,我无法达到极低的温度。

附带的图像是将传感器保存在盛有冰的碗中(1.1°C)的读数,当传感器使用点烟器加热(127°C)时显示温度。请注意,DS18B20的工作温度范围为-55°C至+ 125°C(-67°F至+ 257°F)

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 温度传感器
    +关注

    关注

    48

    文章

    2938

    浏览量

    156004
  • OLED
    +关注

    关注

    119

    文章

    6195

    浏览量

    224069
  • DS18B20
    +关注

    关注

    10

    文章

    779

    浏览量

    80799
收藏 人收藏

    评论

    相关推荐

    CW32模块使用 DS18B20温度传感器

    DS18B20数字温度传感器提供9位至12位精度的温度测量,并具有非易失性用户可编程上下触发点报警功能。DS18B20通过单总线通信,根据定义,只需要一条数据线(和地线)即可与单片机通
    的头像 发表于 11-26 17:47 225次阅读
    CW32模块使用 <b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b>传感器

    DS18B20温度传感器的工作原理和硬件设计

    通过本文可以了解DS18B20温度传感器工作原理、硬件设计、DS18B20单总线接口驱动编写。
    的头像 发表于 10-24 14:38 1500次阅读
    <b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b>传感器的工作原理和硬件设计

    ds18b20传感器的使用方法

    DS18B20是一种广泛使用的数字温度传感器,它基于1-Wire(单总线)通信协议。这种传感器因其高精度、易用性和低成本而受到欢迎。 DS18B20传感器简介 DS18B20是由Max
    的头像 发表于 10-18 14:52 664次阅读

    ds18b20温度传感器怎么接线

    DS18B20是一种广泛使用的数字温度传感器,它基于1-Wire(一线)通信协议工作。这种传感器因其高精度、易用性和低成本而受到欢迎。 DS18B20传感器引脚介绍 DS18B20有三
    的头像 发表于 10-18 14:50 1127次阅读

    ds18b20温度传感器如何使用

    DS18B20是一款广泛使用的数字温度传感器,它具有高精度、低功耗和易于使用的特点。 DS18B20温度传感器简介 DS18B20是由Max
    的头像 发表于 09-03 16:51 627次阅读

    ds18b20温度传感器是什么类型

    DS18B20温度传感器是一种数字温度传感器,它属于单总线(One-Wire)数字温度传感器类型。这意味着它仅需要一根数据线(加上电源线和地线,共三根线)就能与微处理器或其他数字电路进
    的头像 发表于 09-03 16:46 944次阅读

    ds18b20温度传感器和dht11的区别

    DS18B20和DHT11都是常用的温度和湿度传感器,它们在许多项目和应用中都有广泛的应用。 1. 工作原理 DS18B20 DS18B20是一种数字
    的头像 发表于 09-03 16:44 1485次阅读

    STC32和STC8H驱动DS18B20测温串口发送数据

    STC32G12K128 和 STC8H8K64U 驱动 DS18B20 模块,采集环境温度并通过串口发送数据至电脑
    的头像 发表于 06-27 16:27 815次阅读
    STC32和STC8H驱动<b class='flag-5'>DS18B20</b>测温串口发送数据

    基于51单片机DS18B20温度采集控制风扇设计

    本资源内容概要:       这是基于51单片机DS18B20温度采集控制风扇设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单
    发表于 06-26 10:43 0次下载

    基于51单片机DS18B20温度采集1602液晶显示报警设计

    本资源内容概要:       这是基于51单片机DS18B20温度采集1602液晶显示报警设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件
    发表于 06-25 10:16 0次下载

    DS18B20温度传感器工作原理

    DS18B20以其独特的工作原理、卓越的技术参数和广泛的应用场景,成为了市场的明星产品。 深入了解DS18B20的工作原理 DS18B20温度传感器的工作原理基于热敏电阻的特性和数字
    的头像 发表于 06-19 16:01 1209次阅读

    基于STC8H8K64U和DS18B20温度采集和LabVIEW上位机显示

    之前通过 STC 单片机和 DS18B20 实现了环境温度采集并串口显示,后面进一步想要实现温度的实时监测和数据记录保存,因此编写了 LabVIEW 程序,修改了部分单片机程序代码。经
    发表于 04-08 12:28

    DS18B20温度传感器的优缺点

    可编程寄存器:DS18B20内部具有可编程寄存器,允许用户对其进行配置和控制,以满足不同的应用需求。
    发表于 04-04 11:39 4370次阅读

    基于51单片机的多点温度检测网络,DS18B20传感器,代码,仿真,原理图等资料

    设计概述 基于DS18B20的多点温度测量监控系统设计,以AT89C52单片机作为主控制器,不断循环读取4组DS18B20(T1、T2、T3和T4)温度数据,同时使用LCD1602液晶
    发表于 03-24 22:08

    为什么我的LCD1602不能显示DS18B20采集的温度

    =ReadTemperature();// LCD_Write_Char(5,0,temperature/100);// LCD_Write_Char(6,0,temperature%100/10); 仿真的结果: 查了一下说是DS18B20对时序要求很严格,检查了一下没发现问题。
    发表于 12-20 20:03