第35课:使用HTU21D温度传感器与Arduino

第35课:使用HTU21D温度传感器与Arduino

本项目指导您使用Arduino读取HTU21D-F传感器的温度和湿度数据。该传感器价格便宜且广泛可用,非常适合各种项目。传感器通过I2C输出数据,这是一个常见的数字通信协议。学习使用这款传感器和I2C将为您的项目开启许多可能性。

HTU21D module

实际应用:

  • 构建智能家居环境监测器
  • 创建天气站
  • 开发一种用于敏感电子设备的气候控制外壳
  • 在温室或生态瓶中监测温度和湿度

硬件/组件

您将需要以下组件:

  • Arduino 开发板(例如,Uno,Nano)
  • HTU21D-F 温湿度传感器(视频中的时间 00:22)
  • 连接电线
  • 面包板(可选,但推荐使用)

接线指南

接线很简单。将传感器按照以下方式连接到Arduino(视频中的时间是02:28):

  • 传感器VCC连接到Arduino 3.3V
  • 传感器接地连接到Arduino接地
  • 传感器 SDA 接口到 Arduino A4
  • 传感器 SCL 到 Arduino A5

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor

代码解释

提供的代码使用 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] 现场演示

图像

thumb_robojax_HTU21DF_types-1756423961-8524
thumb_robojax_HTU21DF_types-1756423961-8524
Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
212-Arduino code using HTU21D-F Humidity & Temperature Sensor (basic)
语言: C++
已复制!

|||您可能需要的东西

文件📁

Arduino 库(zip 格式)