ESP8266-Arduino编程实例-HDC1008温度湿度传感器驱动

HDC1008温度湿度传感器驱动

1、HDC1008传感器介绍

HDC1008 是一款集成温度传感器的数字湿度传感器,可在极低功耗下提供出色的测量精度。 该设备基于一种新型电容传感器测量湿度。 湿度和温度传感器经过工厂校准。

HDC1008 的传感元件位于设备的底部,这使得 HDC1008 对污垢、灰尘和其他环境污染物更加稳健。 HDC1008 在整个 –40°C 至 +125°C 温度范围内工作。

主要特性如下:

  • 相对湿度 (RH) 工作范围 0% 至 100%
  • 14 位测量分辨率
  • 相对湿度精度 ±3%
  • 温度精度 ±0.2°C
  • 电源电压 3 V 至 5 V
  • I2C 接口

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • HDC1008感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线图如下:

在这里插入图片描述

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

1)导入依赖头文件

1
2
3
#include <Wire.h>
#include "Adafruit\_HDC1000.h"

本次使用HDC1008的驱动库如下:

2)定义HDC1008传感器

1
2
3
// 定义HDC1008传感器 
Adafruit_HDC1000 hdc = Adafruit\_HDC1000();

3)在setup函数中设置串口及启动传感器

1
2
3
4
5
6
7
8
9
10
11
12
void setup() 
{
Serial.begin(115200);
Serial.println("HDC100x test");
// 启动传感器
if (!hdc.begin())
{
Serial.println("Couldn't find sensor!");
while (1);
}
}

4)在loop函数中读取传感器数据

1
2
3
4
5
6
7
8
9
10
11
12
13
void loop() 
{
Serial.print("Temp: ");
// 读取温度
float temperature = hdc.readTemperature();
Serial.print(temperature);
Serial.print("\t\tHum: ");
// 读取湿度
float humidity = hdc.readHumidity();
Serial.println(humidity);
delay(500);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126081850