本教程是的一部分: 数字式相对湿度和温度传感器 HTU21D
本文下方提供了与数字式相对湿度和温度传感器 HTU21D 相关的视频链接。
在液晶显示器上以条形图显示HTU21D的温度
在本教程中,我们将学习如何将HTU21D温湿度传感器的温度读数以条形图的形式显示在LCD屏幕上。读数将包括摄氏度、华氏度、开尔文和相对湿度的值,提供环境条件的全面概述。这个项目将帮助您了解如何正确连接组件,并实现必要的代码以使一切顺利运作。

对于想要视觉指南的人,请务必查看与本教程相关的视频(在视频的00:00处)。
硬件解读
本项目的主要组件包括HTU21D传感器和LCD 1602显示器。HTU21D是一款通过I2C通信的数字湿度和温度传感器。它提供准确的温度和湿度读数,用户可以通过其库轻松访问。另一方面,LCD 1602显示器以人类可读的格式显示读数,便于快速评估环境条件。
HTU21D使用简单的I2C接口,这使得它易于与像Arduino这样的微控制器连接和通信。LCD 1602显示器也使用I2C,这通过减少连接到Arduino所需的引脚数量简化了布线。这使得设置更加整洁,同时仍然提供清晰的视觉输出。
数据表详情
| 制造商 | Adafruit |
|---|---|
| 部件编号 | HTU21D |
| 逻辑/IO电压 | 3.3 V(典型值) |
| 供电电压 | 1.5 - 3.6 V |
| 温度范围 | -40 到 125 °C |
| 湿度范围 | 0到100 %RH |
| 分辨率 | 0.01 °C / 0.04 %相对湿度 |
| 沟通 | I2C |
| 包裹 | 4针LGA |
- 使用3.3 V为HTU21D供电;连接5 V可能会损坏它。
- 确保在I2C线路(SDA和SCL)上使用适当的上拉电阻。
- 在测试期间,保持传感器远离热源。
- 使用I2C扫描程序检查正确的I2C地址。
- 确保LCD正确初始化并使用正确的地址。
接线说明

要连接HTU21D传感器和LCD 1602显示屏,请严格按照以下步骤进行:
首先,连接HTU21D传感器。将第一个引脚(VCC)连接到Arduino上的3.3 V引脚。第二个引脚(GND)应连接到Arduino的地面(GND)。第三个引脚(SDA)连接到Arduino上的A4引脚,第四个引脚(SCL)连接到A5引脚。为清晰起见,请确保使用正确的线色:VCC用红色,GND用黑色,SDA用橙色,SCL用黄色。
接下来,对于LCD 1602显示器,将VCC引脚连接到Arduino上的5 V引脚,将GND引脚连接到地面。LCD的SDA引脚应连接到用于HTU21D的同一个A4引脚,而SCL引脚应连接到A5引脚。此设置允许传感器和显示器通过I2C协议进行通信。
代码示例与演练
在代码中,第一步是包括传感器和液晶显示器所需的库。该行#include 对于I2C通信是必不可少的,而#include "Adafruit_HTU21DF.h"初始化HTU21D传感器。下一行创建HTU21D类的实例:
Adafruit_HTU21DF htu = Adafruit_HTU21DF();这行代码设置了传感器以供程序使用,使我们可以稍后调用它的方法来读取温度和湿度值。
在里面setup()函数,我们初始化串口监视器和 LCD 显示器。以下几行检查传感器是否正常工作:
if (htu.begin()) {
lcd.print("HTU21DF Bargraph");
} else {
lcd.print("missing HTU21DF");
while(1); // Pause forever.
}如果传感器未能初始化,程序将显示错误信息并停止执行。这对于调试至关重要,并确保传感器正确连接。
在loop()功能,温度读数被采集并显示。该行float T = getHTU('H');根据传递的参数获取温度或湿度。然后将获取的值显示在LCD上:
lcd.setCursor (0,1);
lcd.print(T); // print
lcd.print((char)223); // prints degree symbol
lcd.print("C"); //这段代码将光标定位在LCD的第二行,打印温度值及度数符号。使用的(char)223在LCD上显示度数符号的一个方便技巧。
演示 / 预期内容
一旦所有设置完成并且代码上传,您应该会在LCD上看到温度读数以条形图形式显示。读数将持续更新,反映当前的温度和湿度。如果您对传感器吹热空气,您会看到温度迅速上升,确认系统按预期工作。要注意极性反转或接线不当,因为这些可能导致故障或损坏(在视频中为02:30)。
视频时间戳
- 00:00- 介绍
- 01:30- 布线说明
- 02:30- 代码演练
- 04:00- 演示
- 05:30- 结论
This code has not been parsed yet. Please return to the admin panel to parse it.
资源与参考
-
外部Adafruit HTU21D库(GitHub)github.com
-
外部HTU21D 数据表 (PDF)cdn-shop.adafruit.com
文件📁
Arduino 库(zip 格式)
-
Robojax LCD Bargraph Library (ZIP file)
robojax-LCD-bargraph-Library.zip0.10 MB
数据手册 (pdf)
-
HTU21D温湿度数据表
HTU21D_temerature_humidity_datasheet.pdf0.96 MB