Sensirion SHT1x 系列温度/湿度传感器与 Arduino 的连接与使用

您所在的位置:网站首页 加湿器的使用步骤图 Sensirion SHT1x 系列温度/湿度传感器与 Arduino 的连接与使用

Sensirion SHT1x 系列温度/湿度传感器与 Arduino 的连接与使用

#Sensirion SHT1x 系列温度/湿度传感器与 Arduino 的连接与使用| 来源: 网络整理| 查看: 265

目录

一、SHT1x 系列传感器简介

二、准备工作

三、库的安装与使用

四、连接电路

五、示例代码

六、代码解释

七、测试与验证

八、总结

本文主要介绍如何使用 Arduino 来支持 Sensirion 的 SHT1x 系列(SHT10、SHT11、SHT15)温度/湿度传感器。我们将通过详细的步骤、示例代码及解释,帮助您轻松掌握如何在项目中使用这些传感器。

一、SHT1x 系列传感器简介

Sensirion 的 SHT1x 系列传感器是一组集成式的数字温度和湿度传感器。这些传感器具有高精度、稳定性、低功耗和短响应时间的特点。SHT1x 系列包括三个型号:SHT10、SHT11 和 SHT15。不同型号的传感器在精度和价格上有所不同,但它们的通信方式和工作原理都是相同的。

源码下载

下表列出了 SHT1x 系列三个型号的主要性能参数:

参数SHT10SHT11SHT15温度精度±0.5℃±0.4℃±0.3℃湿度精度±4.5%RH±3.0%RH±2.0%RH电源电压2.4V~5.5V2.4V~5.5V2.4V~5.5V 二、准备工作

在开始之前,您需要准备以下硬件和软件:

Arduino 开发板(如 Arduino UNO、Nano、Mega 等)Sensirion SHT1x 传感器(SHT10、SHT11 或 SHT15)杜邦线若干Arduino IDESHT1x 库(将在下文中介绍) 三、库的安装与使用

为了方便使用 SHT1x 传感器,我们需要安装一个 Arduino 库。您可以从 GitHub 下载 SHT1x 库

下载完成后,将其解压并放入 Arduino IDE 的 libraries 文件夹中。然后重新启动 Arduino IDE,就可以看到安装好的库了。

四、连接电路

将 SHT1x 传感器与 Arduino 开发板连接,按照如下的连接方式:

SHT1x 传感器Arduino 开发板Vcc3.3V 或 5VGNDGNDDATAD2SCKD3

注意:SHT1x 传感器需要使用 10K 欧姆的上拉电阻将 DATA 引脚与 Vcc 连接。

五、示例代码

接下来,我们将使用 SHT1x 库来读取温度和湿度的值。以下是一个简单的示例代码:

#include // 定义数据和时钟引脚 #define dataPin 2 #define clockPin 3 // 创建一个 SHT1x 对象 SHT1x sht1x(dataPin, clockPin); void setup() { // 初始化串口通信,用于输出读取到的值 Serial.begin(9600); } void loop() { float temp_c, humidity; // 读取温度和湿度 temp_c = sht1x.readTemperatureC(); humidity = sht1x.readHumidity(); // 打印读取到的温度和湿度 Serial.print("Temperature: "); Serial.print(temp_c, 2); // 保留两位小数 Serial.print(" C, Humidity: "); Serial.print(humidity, 2); // 保留两位小数 Serial.println(" %"); // 等待一段时间再次读取 delay(1000); } 六、代码解释

这个示例代码的主要部分是 SHT1x 对象的创建和两个读取函数的使用。让我们来详细解释一下这些部分。

首先,我们包含了 SHT1x.h 头文件,并定义了数据和时钟引脚。然后创建了一个 SHT1x 对象。

#include #define dataPin 2 #define clockPin 3 SHT1x sht1x(dataPin, clockPin);

在 setup() 函数中,我们初始化了串口通信,这样我们就可以在串口监视器中看到读取到的温度和湿度值。

void setup() { Serial.begin(9600); }

在 loop() 函数中,我们首先调用 readTemperatureC() 和 readHumidity() 函数来读取温度和湿度。这两个函数都会返回浮点数。

然后,我们使用 Serial.print() 函数将读取到的温度和湿度值打印到串口监视器中。注意,我们使用了两个参数的版本,第二个参数是要保留的小数位数。

最后,我们使用 delay() 函数等待一秒,然后再次读取。

void loop() { float temp_c, humidity; temp_c = sht1x.readTemperatureC(); humidity = sht1x.readHumidity(); Serial.print("Temperature: "); Serial.print(temp_c, 2); Serial.print(" C, Humidity: "); Serial.print(humidity, 2); Serial.println(" %"); delay(1000); } 七、测试与验证

将上述代码上传到 Arduino 开发板,然后打开串口监视器,你就可以看到每秒更新的温度和湿度值了。

八、总结

通过这篇文章,我们详细介绍了如何使用 Arduino 来支持 Sensirion 的 SHT1x 系列(SHT10、SHT11、SHT15)温度/湿度传感器。我们从简单的硬件连接,到库的安装,再到具体的示例代码,逐一进行了详细的讲解。希望这篇文章能帮助你更好地理解和使用这些传感器。

为了更好地使用这些传感器,你还可以尝试以下扩展:

将读取到的温度和湿度值显示在 LCD 显示屏上。使用无线模块,将读取到的温度和湿度值发送到手机或电脑上。根据读取到的温度和湿度值,控制风扇或加湿器的开关。

在使用这些传感器时,需要注意以下几点:

不同型号的 SHT1x 传感器,其精度和价格是不同的,选择时需要根据实际需要进行选择。SHT1x 传感器的电源电压范围是 2.4V~5.5V,因此,可以直接使用 Arduino 的 3.3V 或 5V 供电。SHT1x 传感器的 DATA 引脚需要使用 10K 欧姆的上拉电阻。

以上就是关于如何使用 Arduino 来支持 Sensirion 的 SHT1x 系列温度/湿度传感器的全部内容,希望对你有所帮助。如果你在使用过程中遇到任何问题,欢迎在评论区留言,我们会尽快回复你。

最后,祝你的 Arduino 项目顺利,学习愉快!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3