本教程是的一部分: 数字式相对湿度和温度传感器 HTU21D
本文下方提供了与数字式相对湿度和温度传感器 HTU21D 相关的视频链接。
第35课:使用HTU21D温度传感器与Arduino
本项目指导您使用Arduino读取HTU21D-F传感器的温度和湿度数据。该传感器价格便宜且广泛可用,非常适合各种项目。传感器通过I2C输出数据,这是一个常见的数字通信协议。学习使用这款传感器和I2C将为您的项目开启许多可能性。

实际应用:
- 构建智能家居环境监测器
- 创建天气站
- 开发一种用于敏感电子设备的气候控制外壳
- 在温室或生态瓶中监测温度和湿度
硬件/组件
您将需要以下组件:
- Arduino 开发板(例如,Uno,Nano)
- HTU21D-F 温湿度传感器(视频中的时间 00:22)
- 连接电线
- 面包板(可选,但推荐使用)
接线指南
接线很简单。将传感器按照以下方式连接到Arduino(视频中的时间是02:28):
- 传感器VCC连接到Arduino 3.3V
- 传感器接地连接到Arduino接地
- 传感器 SDA 接口到 Arduino A4
- 传感器 SCL 到 Arduino A5

代码解释
提供的代码使用 Adafruit HTU21D-F 库(在视频中时间为 03:03)与传感器进行交互。关键部分包括:
// These are the lines that you can configure:
const int inPin =A0;//can change
const int iteration = 1000; //can change (see video at 00:22)
const float LM35_FACTOR =0.01;// do not change
inPin指定连接到温度传感器的模拟引脚。您可以更改此设置以适应您的接线。
iteration此变量控制用于平均温度的读取次数。增加它可以提高准确性,但会减慢读取速度(视频中的时间为00:22)。
thegetHTU()该函数(视频中的08:46)允许您通过将字符('C'、'F'、'K'或'H')作为参数传递来检索摄氏度、华氏度或开尔文的温度,或湿度。然后,代码使用该函数在串行监视器上显示数据。
float getTemperature(char type) {
// ... (code to read temperature and humidity) ...
if (type == 'F') {
value = averageTemperature * 9 / 5 + 32; // Fahrenheit
} else if (type == 'K') {
value = averageTemperature + 273.15; // Kelvin
} else {
value = averageTemperature; // Celsius
}
return value;
}
现场项目/演示
该视频演示了传感器的功能(视频中为07:34)。串口监视器显示温度和湿度读数。主持人还展示了代码如何根据温度阈值触发动作(视频中为06:45)。
章节
- [00:00] 引言
- [00:22] 传感器概述
- [01:22] 数据表审查
- 接线
- 图书馆安装
- [04:05] 代码解释(第一部分)
- [08:33] 代码解释(第二部分)
- [07:34] 现场演示
212-Arduino code using HTU21D-F Humidity & Temperature Sensor (basic)
语言: C++
已复制!
|||您可能需要的东西
-
亚马逊从亚马逊购买HTU21D模块amzn.to
-
易趣在eBay上购买HTU21Debay.us
-
全球速卖通从AliExpress购买HTU21D或SHT21s.click.aliexpress.com
资源与参考
-
外部Adafruit HTU21D库(GitHub)github.com
-
外部HTU21D 数据表 (PDF)cdn-shop.adafruit.com
-
外部HTU21DF 和 HTU21D 的区别(图片)robojax.com
-
外部在Arduino上通过LCD以条形图形式显示HTU21D的温度robojax.com
文件📁
Arduino 库(zip 格式)
-
Adafruit HTU21DF library (Robojax.com)
robojax_HTU21DF_Adafruit_HTU21DF_Library-master.zip0.01 MB