当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]DS18B20 是一种数字温度传感器,有两种版本:小型 TO-922 包装版和防水型,后者通常被金属管封装,并配有长电缆。两者均能提供数字温度读数,适用于多种室内外项目。DS18B20 采用了一种称为“单线通信”(1-Wire)的协议,仅需一根数据线即可实现通信,并可在同一引脚上支持多个传感器。

DS18B20 是一种数字温度传感器,有两种版本:小型 TO-922 包装版和防水型,后者通常被金属管封装,并配有长电缆。两者均能提供数字温度读数,适用于多种室内外项目。DS18B20 采用了一种称为“单线通信”(1-Wire)的协议,仅需一根数据线即可实现通信,并可在同一引脚上支持多个传感器。

该传感器支持多种分辨率:9、10、11或12位。默认为12位分辨率,精度可达0.0625°C。较低的分辨率可加快读数速度,而较高的分辨率则能提供更详细的温度数据。DS18B20传感器测量温度范围为-55°C至+125°C(-67°F至+257°F)。

接线图

DS18B20 提供两种电源选项。它可以通过 VDDDD 引脚连接外部电源供电,也可以通过一种称为寄生模式的方法,直接从数据线上获取电源,从而无需单独的电源连接。

在两种电源模式下,必须在DQ(数据)引脚和VCC之间连接一个上拉电阻,以确保数据线在空闲时保持正确的状态。通常为此使用4.7kΩ的电阻。对于较长的电缆,例如防水版本,可能需要调整电阻值,但4.7kΩ通常可以正常工作。

你可以通过Arduino上的单个数字引脚读取多个DS18B20传感器的温度。只需将所有传感器的数据引脚连接在一起,并接入Arduino上的同一数字引脚即可。

标准模式

需要使用三线连接,电源直接供给至VDD引脚。以下是接线示意图,供您参考:

•VDD → Arduino 5V

•GND → Arduino GND

•DQ → Arduino D3(或任意数字引脚)

•DQ 与 VDD 之间的 4.7kΩ 电阻

寄生模式

仅需数据线和地线,因为传感器直接从数据线上获取电源。以下是此设置的接线图:

安装所需的Arduino库

在上传任何代码之前,你需要安装两个用于与DS18B20传感器通信的库:OneWire和DallasTemperature。

安装方法如下:

•打开Arduino IDE。

•转到“草图”菜单,选择“包含库”>“管理库”...

•在图书馆管理器中,将“OneWire”输入搜索框,找到该库并点击安装。

•接下来,搜索 DallasTemperatureTemperature 并安装该库。

•安装完成后,你就可以将它们包含在草图中,并开始使用传感器进行工作:

这些库负责通信协议,只需几行代码即可轻松获取温度读数。请参考原始的DallasTemperature库文件,其中包含了管理温度传感器所需的所有可用功能。

Arduino 代码

此示例将传感器设置在数字引脚3上,启动通信,并每秒读取一次温度值。串口监视器中显示的输出同时包含摄氏度和华氏度两种格式。

此示例从数据线上找到的第一个传感器读取数据。如果连接了多个传感器,可以通过索引或唯一的设备ID来分别寻址。

测试

代码上传后,Arduino IDE 中的串口监视器应打开,并将波特率设置为 115200。温度读数将以摄氏度和华氏度显示,如下图所示。

结论

DS18B2000 常用于家庭气象显示屏、温室监测、水族箱和智能供暖系统等项目。其数字输出能有效抵抗电气噪声,尤其在长距离布线时表现更佳。防水版本特别适用于需要将传感器放置于户外或接触液体的场合。如果使用多个传感器或计划进行较长的线路布设,请确保电阻值和线缆质量合适。不过对于大多数短距离应用,标准的 4.7kΩΩΩ 拉上电阻即可满足需求。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭