搜索代码

在LCD上显示HTU21D的温度

在LCD上显示HTU21D的温度

在本教程中,我们将学习如何在LCD上显示HTU21D温湿度传感器的温度读数。最终结果将是一个功能完整的设置,温度可以以摄氏度、华氏度和开尔文显示,同时相对湿度也在同一屏幕上显示。该项目将为您提供I2C通信和基本传感器数据处理的实际经验。要获得详细的视觉指南,请务必观看视频(视频在00:00)。

HTU21D module

硬件解析

该项目的主要组件包括HTU21D传感器和LCD显示屏。HTU21D是一个数字湿度和温度传感器,通过I2C协议进行通信。它提供以摄氏度或华氏度为单位的精确温度测量以及以百分比表示的相对湿度。该传感器通常在3.3V的电压下工作,但也可以与5V系统兼容。 我们将使用的LCD显示屏是一个带有I2C接口的16x2 LCD。这种类型的显示屏仅需要两根数据通信线,这使得与像Arduino这样的微控制器连接更为简单。I2C接口允许多个设备连接在同一总线,简化了布线并减少了使用的引脚数量。

数据表详情

制造商Adafruit
零件编号HTU21D-F
逻辑/输入输出电压3.3 V(典型值)
供电电压1.5 伏特 到 3.6 伏特
输出电流0.5 毫安 (典型值)
峰值电流1.5 mA(最大)
温度范围-40 到 125 °C
湿度范围0 到 100 %RH
包裹DFN-6
备注 / 变体None

  • 确保电压水平正确,以避免传感器损坏。
  • 如果有必要,在SDA和SCL线路上使用上拉电阻。
  • 使用扫描仪检查I2C地址以确保正确配置。
  • 小心处理传感器的输出,以避免读取错误。
  • 在进行测量时,请将传感器远离热源。

接线说明

Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD

要将HTU21D传感器连接到Arduino,请将传感器的VCC引脚连接到Arduino的3.3V输出上。接下来,将传感器的GND引脚连接到Arduino的地线。用于数据传输的SDA引脚应连接到Arduino的A4引脚。同样,将用于时钟信号的SCL引脚连接到Arduino的A5引脚。 确保您的LCD也正确连接;在此设置中,LCD的I2C地址通常是0x3F。如果您使用不同类型的LCD或不同的I2C地址,请确保相应地调整代码。接线后,请检查是否有松动的连接,然后再开启Arduino电源。

代码示例和演示

在代码中,我们首先包含HTU21D传感器和LCD所需的库:

#include 
#include "Adafruit_HTU21DF.h"
#include 

这为传感器和显示器的使用设置了环境。`Adafruit_HTU21DF`库处理传感器的功能,而`LiquidCrystal_I2C`库管理液晶显示器。 接下来,我们为传感器和液晶显示器创建实例:

Adafruit_HTU21DF htu = Adafruit_HTU21DF();
LiquidCrystal_I2C lcd(0x3F, 16, 2);

这里,htu是HTU21D传感器的对象,并且lcd是LCD显示器的对象。LCD的I2C地址设置为0x3F,您可能需要根据您的配置验证。setup()功能,我们初始化LCD并检查传感器是否正常运作:

void setup() {
  lcd.begin();  
  lcd.backlight();
  if (!htu.begin()) {
      lcd.print("Sensor missing"); 
      while (1);
  }
  lcd.print("HTU21D Ready");
}

该代码初始化LCD并检查传感器的存在性。如果未检测到传感器,它将显示“缺少传感器”并停止程序。loop()我们不断读取温度和湿度值并将其显示出来:

void loop() {
   lcd.clear();
   lcdDisplay(0, 0, "Celsius: ", 10, 0, getHTU('C'), 'd');  
   lcdDisplay(0, 1, "Humidity: ", 10, 1, getHTU('H'), '%');  
   delay(5000);
}

在这个摘录中,我们清除LCD,然后调用lcdDisplay()显示摄氏温度和湿度的功能。getHTU()该函数根据传递的字符获取温度或湿度。

演示 / 期待什么

当设置完成并将代码上传到Arduino后,LCD应该显示当前的摄氏温度和相对湿度。如果一切连接正常,您将看到数值每隔几秒更新一次。请注意常见的陷阱,例如连接反向或I2C地址不正确,这可能会导致传感器通信失败(视频中的05:00)。

视频时间戳

  • 00:00- 介绍
  • 01:30- 接线说明
  • 03:15- 代码解释
  • 04:50- 示范
  • 05:40- 结论

图像

LCD1602或LCD2004与HTU21DF湿度和温度传感器及Arduino一起使用
LCD1602或LCD2004与HTU21DF湿度和温度传感器及Arduino一起使用
Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
213-Display Temperature from HTU21DF on LCD1602-I2C or LCD2004
语言: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

|||您可能需要的东西

资源与参考

文件📁

数据手册 (pdf)