ESP8266-Arduino编程实例-HDC1080温度湿度传感器驱动 HDC1080温度湿度传感器驱动 1、HDC1080介绍 HDC1080 是一款集成温度传感器的数字湿度传感器,可在极低功耗下提供出色的测量精度。 HDC1080 在很宽的电源范围内工作,是一种低成本、低功耗的替代方案,可替代各种常见应用中的竞争性解决方案。 湿度和温度传感器经过工厂校准。
HDC1080具有如下特性:
相对湿度精度 ±2%(典型值)
温度精度 ±0.2°C(典型值)
在高湿度下具有出色的稳定性
14 位测量分辨率
100 nA 睡眠模式电流
2、硬件准备
ESP8266 NodeMCU开发板一块
HDC1080传感器模块一个
面板板一个
杜邦线若干
数据线一条
硬件接线如下:
传感器引脚
ESP8266开发板引脚
Vin
5v
Gnd
Gnd
SCL
D1
SDA
D2
3、软件准备
Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:
ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:
4、代码实现 本次实例使用HDC1080的驱动库如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #include <Wire.h> #include "ClosedCube\_HDC1080.h" ClosedCube_HDC1080 hdc1080; void setup() { Serial.begin(9600); Serial.println("ClosedCube HDC1080 Arduino Test"); // Default settings: // - Heater off // - 14 bit Temperature and Humidity Measurement Resolutions hdc1080.begin(0x40); Serial.print("Manufacturer ID=0x"); Serial.println(hdc1080.readManufacturerId(), HEX); // 0x5449 ID of Texas Instruments Serial.print("Device ID=0x"); Serial.println(hdc1080.readDeviceId(), HEX); // 0x1050 ID of the device printSerialNumber(); } void loop() { Serial.print("T="); Serial.print(hdc1080.readTemperature()); Serial.print("C, RH="); Serial.print(hdc1080.readHumidity()); Serial.println("%"); delay(3000); } void printSerialNumber() { Serial.print("Device Serial Number="); HDC1080_SerialNumber sernum = hdc1080.readSerialNumber(); char format[12]; sprintf(format, "%02X-%04X-%04X", sernum.serialFirst, sernum.serialMid, sernum.serialLast); Serial.println(format); }
文章来源: https://iotsmart.blog.csdn.net/article/details/126477146
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!