物联网之温湿度传感器模块、arduino、esp32


原理

无论是工业领域还是日常生活,温度和湿度一直都是两个比较重要的指标,DHT11和DHT22是DHTxx系列中使用最广泛的两种传感器。它们有着相同的引脚,用法一致。

如果拆下传感器的外壳,其实里面只有一个NTC热敏电阻和一个湿度传感元件。

湿度传感部件有两个电极,中间有一个保湿基底(通常是盐或导电塑料聚合物)。随着湿度的升高,基板吸收水蒸气,导致离子的释放和两个电极之间电阻的降低。电阻的变化与湿度成正比,可以测量湿度来估计相对湿度。

DHT11与DHT22还包括用于测量温度的NTC(热敏电阻)。热敏电阻是一种电阻随温度变化的电阻器。从技术上讲,所有电阻器都是热敏电阻,因为它们的电阻随温度略有变化,但这种变化通常非常小,难以测量。热敏电阻的设计使其电阻随温度而急剧变化(每度100Ω或更大),而且电阻随着温度的升高而减小。

DHT11和DHT22传感器的连接都相对简单。

VCC:传感器供电引脚,建议使用5V电源。使用5V电源,传感器可以放置在20米外。在3.3V电源电压下,传感器可以放置在1米外;
Data:通过串行数据输出温度和湿度;
NC:无连接;
GND:接地。


硬件电路设计

物料清单(BOM表)

材料名称 数量
0.96寸OLED屏幕 1
DHT11温湿度传感器 1
10K电阻 1
杜邦线(跳线) 若干
面包板 1

软件程序设计

DHT11与控制器之间采用单总线数据格式,一次通信时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零。
1、一次完整的数据传输为40bits,高位先出;
2、数据格式为8bits湿度整数数据+8bits湿度小数数据+8bits温度整数数据+8bits温度小数数据+8bits校验和;
3、数据传送正确时校验和数据等于8bits湿度整数数据+8bits湿度小数数据+8bits温度整数数据+8bits温度小数数据所得结果的末8位。

cpp 复制代码
#include "DHT.h"

#define DHTPIN 14
#define DHTTYPE DHT11
 
 
// 初始化 DHT 对象
DHT dht(DHTPIN, DHTTYPE);
 
void setup() {
  Serial.begin(9600);
  Serial.println(F("DHTxx test!"));
 
  dht.begin();
}
 
void loop() {
  // 读取湿度
  float humid = dht.readHumidity();
  // 读取温度
  float temp = dht.readTemperature();

  // 显示内容
  Serial.print("湿度: ");
  Serial.print(humid);
  Serial.print("% 温度: ");
  Serial.print(temp);
  Serial.println("°C ");
  delay(2000);
}
相关推荐
qz5zwangzihan114 分钟前
AtCoder高频英文词汇短语
c++·atcoder·高频词
恒锐丰科技韩生15 分钟前
RB4762A|晶准 单节锂电池内置 MOS 保护芯片 DFN2×3‑6
嵌入式硬件·硬件工程
码匠许师傅22 分钟前
【C++ 面试真题】聊聊 C++ 的类型特征( type_traits)
java·c++·面试
小小龙学IT29 分钟前
C++ 性能优化:CPU 缓存与数据布局优化深度解析
c++·缓存·性能优化
雨田言炎38 分钟前
STM32专题之内部SRAM
stm32·单片机·嵌入式硬件
玉树临风ives43 分钟前
atcoder ABC 472 题解
数据结构·c++·算法
做萤石二次开发的哈哈1 小时前
海康智能消防摄像机接入萤石蓝海AIoT一站式工作台:安消融合多端应用一站生成
物联网·海康威视·萤石开放平台·蓝海aiot一站式工作台·aiot开发·安消融合·消防监测
gfdr51 小时前
把吃灰的电视盒子,改成一台不花月租的监控
python·嵌入式硬件·电视盒子
ye150127774551 小时前
220V转5V单片机供电电源芯片WT5102
单片机·嵌入式硬件·其他·硬件工程
HUI-4741 小时前
EG12523|集成 600V 半桥驱动,带内置正激恒流功能的正反激 PWM 控制器
单片机·嵌入式硬件