一、驱动库的获取和测试

1、获取驱动库

首先,我们利用arduino的IDE获取温湿度传感器的驱动库,库管理器中搜索dht11即可。
在这里插入图片描述
如果发现有其他依赖的库需要安装,也一起安装吧!
在这里插入图片描述

2、测试驱动库

安装好了之后,我们就可以在IDE的实例库中找到测试实例
在这里插入图片描述
打开实例,编译一次,发现没有问题,那么说明我们的驱动库下载好了。接下来我们就可以打开proteus绘制电路图,来仿真了。

二、proteus仿真

1、绘制电路图

在这里插入图片描述

2、代码

代码为测试dht11的代码,即驱动实例库中自带:

#include "DHT.h"

#define DHTPIN 8     // Digital pin connected to the DHT sensor
#define DHTTYPE DHT11   // DHT 22  (AM2302), AM2321

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  Serial.println(F("DHTxx test!"));

  dht.begin();
}

void loop() {
  // Wait a few seconds between measurements.
  delay(2000);
  float h = dht.readHumidity(); 
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);

  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }

  // Compute heat index in Fahrenheit (the default)
  float hif = dht.computeHeatIndex(f, h);
  // Compute heat index in Celsius (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);

  Serial.print(F("Humidity: "));
  Serial.print(h);
  Serial.print(F("%  Temperature: "));
  Serial.print(t);
  Serial.print(F("°C "));
  Serial.print(f);
  Serial.print(F("°F  Heat index: "));
  Serial.print(hic);
  Serial.print(F("°C "));
  Serial.print(hif);
  Serial.println(F("°F"));
}

3、仿真

在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐