Arduino元件使用方法收藏| DHT22 温湿度传感器

Arduino关于DHT11和DHT22湿度和温度传感器的完整指南 Arduino关于DHT11和DHT22湿度和温度传感器的完整指南 原文地址:https://gndtovcc.home.blog/2020/04/16/complete-guide-for-dht11-dht22-humidity-and-temperature-sensor-with-arduino/ 本文是Arduino上流行的DHT11和DHT22温度和湿度传感器的指南。我们将解释其工作原理,展示其某些功能并分享一个Arduino项目示例,您可以对其进行修改以在自己的项目中使用。 DHT11和DHT 阅读详情

这是是已校准的数字温湿度传感器,用于检测环境温湿度,采用DHT22(AM2302),标准单总线接口。拥有比DHT11更高的精度和更大的量程。

参数名称参数
传感器DHT22(温湿度传感器)
工作电压3.3V-5.5V
湿度分辨率0.1%RH
湿度测量范围0%RH ~ 99.9%RH
湿度测量误差±2%RH (25°C)
温度分辨率0.1°C
温度测量范围-40°C ~ 80°C
温度测量误差±0.5℃
引脚功能
VCC电源正(3.3V-5.5V)
GND电源地
DOUT

通信端口

 在Arduino UNO上的范例程序 dht22.ino:

#include <dht.h>

dht DHT;

#define DHT22_PIN 5

struct {
  uint32_t total;
  uint32_t ok;
  uint32_t crc_error;
  uint32_t time_out;
  uint32_t connect;
  uint32_t ack_l;
  uint32_t ack_h;
  uint32_t unknown;
} stat = { 0, 0, 0, 0, 0, 0, 0, 0};

void setup() {
  Serial.begin(115200);
  Serial.println("dht22_test.ino");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(DHT_LIB_VERSION);
  Serial.println();
  Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)\tTime (us)");
}

void loop() {
  // READ DATA
  Serial.print("DHT22, \t");

  uint32_t start = micros();
  int chk = DHT.read22(DHT22_PIN);
  uint32_t stop = micros();

  stat.total++;
  switch (chk)
  {
    case DHTLIB_OK:
      stat.ok++;
      Serial.print("OK,\t");
      break;
    case DHTLIB_ERROR_CHECKSUM:
      stat.crc_error++;
      Serial.print("Checksum error,\t");
      break;
    case DHTLIB_ERROR_TIMEOUT:
      stat.time_out++;
      Serial.print("Time out error,\t");
      break;
    case DHTLIB_ERROR_CONNECT:
      stat.connect++;
      Serial.print("Connect error,\t");
      break;
    case DHTLIB_ERROR_ACK_L:
      stat.ack_l++;
      Serial.print("Ack Low error,\t");
      break;
    case DHTLIB_ERROR_ACK_H:
      stat.ack_h++;
      Serial.print("Ack High error,\t");
      break;
    default:
      stat.unknown++;
      Serial.print("Unknown error,\t");
      break;
  }
  // DISPLAY DATA
  Serial.print(DHT.humidity, 1);
  Serial.print(",\t");
  Serial.print(DHT.temperature, 1);
  Serial.print(",\t");
  Serial.print(stop - start);
  Serial.println();

  if (stat.total % 20 == 0)
  {
    Serial.println("\nTOT\tOK\tCRC\tTO\tCON\tACK_L\tACK_H\tUNK");
    Serial.print(stat.total);
    Serial.print("\t");
    Serial.print(stat.ok);
    Serial.print("\t");
    Serial.print(stat.crc_error);
    Serial.print("\t");
    Serial.print(stat.time_out);
    Serial.print("\t");
    Serial.print(stat.connect);
    Serial.print("\t");
    Serial.print(stat.ack_l);
    Serial.print("\t");
    Serial.print(stat.ack_h);
    Serial.print("\t");
    Serial.print(stat.unknown);
    Serial.println("\n");
  }
  delay(2000);
}

范例输出示例:

dht22.ino
LIBRARY VERSION: 0.1.36

Type,	status,	Humidity (%),	Temperature (C)	Time (us)
DHT22, 	OK,	40.0,	24.0,	4800
DHT22, 	OK,	89.0,	24.0,	5060
DHT22, 	OK,	89.0,	24.0,	5060
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5060
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5060
DHT22, 	OK,	89.0,	24.0,	5060
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5064
DHT22, 	OK,	89.0,	24.0,	5068

TOT	OK	CRC	TO	CON	ACK_L	ACK_H	UNK
20	20	0	0	0	0	0	0

通过修改范例程序,可以应用到实例中。

arduino 土壤温湿度传感器_温湿度传感器 DHT22 前几期的推送中,我们了解了arduino编程的基础和简单的例程,单凭这些,还做不出吸引人的项目,从本期开始,我们一起来认识一些外部元件,包括传感器和执行器,正是这些外设,让arduino完成了很多功能。首先我们来学习arduino的传感器,本期我们来介绍温湿度传感器湿度传感器(DHT22)DHT-22(也称为AM2302)是一个数字输出,相对湿度和温度传感器。它使用电容式湿度传感器和热敏电阻来测量... 阅读详情

相关推荐

Proteus仿真实战:Arduino与DHT11/22温湿度传感器的完美结合

本文详细介绍了如何在Proteus中仿真Arduino与DHT11/22温湿度传感器的结合应用,包括环境搭建、电路设计、代码编写与调试等关键步骤。通过实战案例和常见错误排查,帮助开发者快速掌握传感器仿真技术,提升物联网开发效率。

sunny的博客 562

Arduino 采集DHT22温湿度串口显示

点击图片购买湿敏电容数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,具有较高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。通过单总线与微处理器通讯,只需要一根线,一次传送40位数据,高位先出。

优信电子的博客 3016

Proteus仿真环境下Arduino与DHT11/DHT22温湿度传感器的实战应用

本文详细介绍了在Proteus仿真环境中,如何搭建Arduino与DHT11/DHT22温湿度传感器的虚拟实验平台。通过软件准备、电路绘制、代码编写到仿真调试的全流程实战,帮助读者零成本、零风险地验证项目方案,实现从虚拟仿真到实物硬件的无缝迁移,是电子爱好者和学生快速入门嵌入式开发的实用指南。

weixin_29171087的博客 325

arduino 读取dht22 温湿度数值

Arduino 可以通过使用 DHT22 温湿度传感器来读取温度和湿度数值。要使用 DHT22 传感器,您需要先下载并安装 DHT22 的库文件。然后,在 Arduino 程序中包含 DHT.h 头文件,并创建 DHT 对象,如下所示: #include "DHT.h" #define DHTPIN 2 // DHT22 传感器连接到的引脚 #define DHTTYPE DHT22 ...

weixin_35755562的博客 957

Proteus仿真DHT11温湿度传感器时常见的5个坑及解决方法(附完整代码)

本文针对Proteus仿真DHT11温湿度传感器时常见的库链接失败、数据读取异常、仿真卡顿、模型混淆及实物移植失败五大难题,提供了详细的解决方案与实战代码。重点剖析了Proteus虚拟环境与真实硬件的差异,帮助用户高效避坑,提升仿真成功率与项目开发效率。

git9versioner的博客 1029

arduino温湿度计库文件_DHT22 温湿度传感器接线图及工作原理

点击上面《智联开发arduino》订阅问:如何每次都能免费收到这种好文章呢?答:只需点击上面《智联开发arduino》关注即可一、功能简介DHT22也被称为AM2302,具有标准的单总线接口。它相比DHT11,拥有更高的精度和更大的量程。它是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术...

weixin_29736885的博客 4716

dht11温湿度传感器_DHT22 温湿度传感器接线图及工作原理

点击上面《智联开发arduino》订阅问:如何每次都能免费收到这种好文章呢?答:只需点击上面《智联开发arduino》关注即可一、功能简介DHT22也被称为AM2302,具有标准的单总线接口。它相比DHT11,拥有更高的精度和更大的量程。它是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术...

weixin_34118910的博客 1万+

【雕爷学编程】Arduino智慧校园之使用DHT22传感器获取温度和湿度数据并显示在OLED屏幕上

Arduino智慧校园之使用DHT22传感器获取温度和湿度数据并显示在OLED屏幕上是一种基于Arduino平台的应用,旨在通过DHT22传感器获取环境温度和湿度数据,并将其实时显示在OLED屏幕上。5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。1、环境监测与控制:利用Arduino平台可以搭建环境监测系统,实时监测温度、湿度、光照等数据,并通过控制器实现智能调控,优化能源消耗和提升舒适性。

雕爷学编程 1534

使用Arduino 采集DHT11温湿度串口显示

DHT11是一款数字温湿度传感器,DHT11是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有可靠的稳定性,响应快,抗干扰能力强。传感器包括一个高分子电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,通过单总线与微处理器通讯,只需要一根线。......

优信电子的博客 8810

【花雕学编程】Arduino动手做(218)---DHT22 单总线数字温湿度传感器 AM2302电子积木模块

本文介绍了《Arduino 手册(思路与案例)》专栏,该专栏包含2300多篇博客,涵盖Arduino在电子制作和智能控制领域的广泛应用,如BLDC、CNC、ESP32等。文章重点展示了DHT22单总线数字温湿度传感器的实验,详细说明了其高精度测量、单总线接口、低功耗等特性,并给出了模块接线示意图。DHT22适用于智能家居、气象监测、农业温室等多个场景。该实验是"189种传感器模块系列"中的第218个,强调通过实践学习Arduino兼容的各种传感器模块。

雕爷学编程 641

Arduino、ESP32驱动DHT22温湿度传感器(温湿度传感器)

DHT22数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。

不脱发的程序猿 1285

DHT22温湿度传感器与Arduino的完美搭配:从硬件连接到数据解析全攻略

本文详细介绍了DHT22温湿度传感器与Arduino的完整应用指南。从DHT22/AM2302的工作原理、单总线通信特性讲起,逐步指导硬件连接、软件库安装与核心代码编写,并深入解析数据帧格式与校验方法。文章还提供了阈值报警、热指数计算等高级应用实例,以及常见故障排查与性能优化技巧,帮助创客和物联网开发者快速构建稳定的环境监测系统。

metal的博客 499

Arduino DHT温湿度传感器库文件指南

DHT(Digital Humidity & Temperature)系列传感器是一种集成了湿度和温度传感功能的数字化传感器。它们通常包含一个电容式湿度测量元件和一个热敏电阻温度测量元件。通过这些元件,DHT传感器能够输出数字信号,提供精确的温湿度数据。DHT传感器有多种类型,如DHT11、DHT22、DHT21等,不同型号的传感器在测量范围和精度上有所差异。它们通过一个简单的单总线协议与微控制器进行通信,这一协议使得数据传输更稳定,也便于在各种环境监测项目中使用。

weixin_32661831的博客 976

Arduino实战:从DHT11到DHT22,精准环境监测传感器选型与应用全解析

本文全面解析了Arduino环境下DHT11与DHT22温湿度传感器的核心差异与选型策略。通过详细的参数对比与实战经验,指导开发者根据项目精度、环境范围及成本需求做出明智选择,并提供了从硬件连接到代码调试、从本地显示到数据上云的完整应用指南,帮助快速构建可靠的环境监测系统。

b9c0d的博客 398

Arduino Nano 结合 DHT22 传感器项目实践指南

Arduino Nano是Arduino系列中的小型、强大且易于使用的微控制器。其设计灵感源自Arduino Uno,继承了Uno的全部功能,同时在尺寸和兼容性方面实现了优化。Arduino Nano的历史可以追溯到2005年,当时旨在为艺术家、设计师、爱好者和任何对交互式电子项目感兴趣的个人提供一种低成本、易于使用的硬件和软件解决方案。在硬件架构方面,Arduino Nano配备了ATmega328微控制器,支持多种通信协议,包括UART、I2C和SPI,使它能够轻松地与其他设备进行通信。

weixin_42511832的博客 833

Arduino校准DHT11传感器教程

Arduino作为一个开源电子原型平台,不仅易于上手,还拥有庞大的社区支持和丰富的库资源。它起源于2005年,当时旨在为艺术家和设计师提供一种简单的方式去创建互动作品。现在,Arduino已经演变成为各种领域工程师、爱好者和专业人士的首选工具。DHT11是一种低功耗的温湿度传感器,它能够提供相对准确的温度和湿度读数。该传感器的工作电压范围一般在3.5V至5.5V之间,这使得它非常适合于使用Arduino这样的微控制器平台。工作时,DHT11通过单总线协议与Arduino通信,并输出数字信号。

weixin_35019679的博客 841

DHT11 vs DHT22:在Arduino和Proteus中如何选择最适合你的温湿度传感器

本文详细对比了DHT11和DHT22温湿度传感器在Arduino和Proteus中的应用差异,包括测量范围、精度、电气特性等核心参数。通过实际测试数据和Proteus仿真分析,帮助开发者根据项目需求选择最适合的传感器,提供室内监测、极端环境测试等场景的性能对比,并给出选型建议和常见问题解决方案。

3a9bq4r8t2y的博客 261

基于DHT22与Arduino的温湿度监控系统设计与实现

DHT22可能是你接触的第一个传感器,但它教会我们的远不止“读温湿度”这么简单。它让我们理解了:硬件设计的重要性(上拉电阻、电源稳定性)通信协议的严谨性(时序、校验、重试)软件架构的可扩展性(非阻塞、模块化)这些经验,才是你在嵌入式世界走得更远的真正资本。💪所以下次当你看到别人说“DHT22不准”、“老是失败”的时候,不妨问一句:你们加了4.7kΩ上拉电阻了吗?🤔🔚本文完—— 希望你在动手实践中少走弯路,多些成就感。🌟。

weixin_32999557的博客 859
上一篇: 树莓派3B+刷了Pi OS 12(Debian12 bookworm)后软件源更换清华(备忘)
下一篇: 受限的银河麒麟系统用户免安装使用程序
RockyCoder
博客等级 码龄20年 56粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RockyCoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值