风筝
发表于: 昨天 16:49 | 显示全部楼层

AM2301温湿度传感器模块,又被称作DHT21模块,是著名的DHT温湿度传感器系列之一。DHT21和DHT22的规格非常相似,除了主要区别,包括外壳设计和输出引脚的物理外观 - AM2301有三根输出线,而DHT22使用金属引脚。


在本篇文章中,我们主要介绍如何基于Arduino开发板使用AM2301温湿度模块。


所需的组件

●    Arduino UNO R3开发板

●    AM2301温度和湿度模块

●    跳线


AM2301传感器模块简介

AM2301模块是一种内部校准的数字传感器,用于测量温度和湿度。它可以测量0至99.9%的湿度,精度为±2%,温度为-40至80°C,精度为±3°C。


该数字模块使用单线协议进行通信。因此,除了电源引脚外,它只需要一个数字引脚即可与微控制器通信。使用此协议,我们可以通过这条线传输数据,最大距离为20米。

DHT21-2.jpg


AM2301模块的引脚分布

该温湿度传感器模块共有3个引脚,如下图所示:

AM2301-PINOUT.jpg

●    VCC(红线):模块电源正极(3.3至5.5V)

●    GND(黑线):接地

●    OUT(黄线):数据线(连接到微控制器的一个数字引脚)


AM2301温度和湿度传感器模块与Arduino开发板的硬件连接

按如下所示连接电线。传感器模块的OUT引脚连接到Arduino开发板的D2引脚。

AM2301-DHT21-ARDUINO-INTERFACe.jpg


代码

首先在ArduinoIDE中安装DHT库。您可以从此链接下载DHT库的zip文件:DHT库


在Arduino中复制并运行以下代码。


  1. //Libraries
  2. #include <DHT.h>;

  3. //Constants
  4. #define DHTPIN 2 //what pin we're connected to
  5. #define DHTTYPE DHT21 //DHT 21 (AM2301)
  6. DHT dht(DHTPIN, DHTTYPE); //Initialize DHT sensor for normal 16mhz Arduino


  7. //Variables
  8. float hum; //Stores humidity value
  9. float temp; //Stores temperature value

  10. void setup()
  11. {
  12. Serial.begin(9600);
  13. dht.begin();
  14. }

  15. void loop()
  16. {
  17. //Read data and store it to variables hum and temp
  18. hum = dht.readHumidity();
  19. temp= dht.readTemperature();

  20. //Print temp and humidity values to serial monitor
  21. Serial.print("Humidity: ");
  22. Serial.print(hum);
  23. Serial.print("%, Temperature: ");
  24. Serial.print(temp);
  25. Serial.println(" Celsius");

  26. delay(2000); //Delay 2 sec.
  27. }
复制代码

上述库还用于设置DHT11和DHT22传感器。

要将上述代码用于任何提到的传感器,只需将下面一行中的“DHT11”或“DHT22”替换为“DHT21”即可。

  1. #define DHTTYPE DHT21
复制代码

输出结果

将代码上传到Arduino开发板上后,打开串口监视器窗口查看输出。


如果一切操作正确,监视器串口输出中的温度和湿度数据应类似于下图。

AM2301-ARDUINO-SERIAL-MONITOR.jpg


随着环境温度或湿度的变化,您应该看到串口输出中相应的变化,以确保模块正常工作。例如,通过在传感器附近点火,输出温度应该会快速变化。


以上就是基于Arduino开发板使用AM2301温湿度模块的方法,如果有任何疑问,请随时在本帖下回复。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 716 | 回复: 1503



手机版|

GMT+8, 2025-1-8 18:45 , Processed in 0.037748 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表