首页 > 解决方案 > 如何在 arduino 库中包含多个目录

问题描述

我有我的 arduino 库文件夹,其中包含一个名为 DHT_sensor_Library 的库。在这个文件夹中,我有另一个名为 DHT_U 的文件夹。在这个文件夹中,我有 DHT_U.ccp 和 DHT_U.h。

问题是当我在我的 arduino IDE 中包含 DHT_U.h 时:

#include "DHT_U.h"

错误说:Tempreture_Humidity_Sensor:2:19: error: DHT_U.h: No such file or directory

compilation terminated.

exit status 1
DHT_U.h: No such file or directory

我已经试过了 #include "DHT_U/DHT_U.h"#include "DHT_U\DHT_U.h"#include ..\DHT_U.h"。这些都不起作用。

这是我的代码片段:

#include "DHT.h"
#include "DHT_U.h"
#include "LiquidCrystal.h"
#include "DHT.h"

完整的代码可以在这里显示:

#include <DHT.h>
#include <DHT_U.h>

// include the library code:
#include <LiquidCrystal.h>
#include "DHT.h"

// set the DHT Pin
#define DHTPIN 8

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  dht.begin();

  // Print a message to the LCD.
  lcd.print("Temp:  Humidity:");
}

void loop() {
  delay(500);
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // read humidity
  float h = dht.readHumidity();
  //read temperature in Fahrenheit
  float f = dht.readTemperature(true);

  if (isnan(h) || isnan(f)) {
    lcd.print("ERROR");
    return;
  }

  lcd.print(f);
  lcd.setCursor(7,1);
  lcd.print(h);  
}

我应该如何解决这个问题?

标签: c++arduino

解决方案


要考虑的一件事是,在使用方法时需要小心#include

如果DHT_U.h位于与您的.ino文件相同的方向,则可以将其包含在其中:

#include "DHT_U.h"

但是,如果您使用 Arduino IDE 中的库管理器安装了库,您应该执行以下操作:

#include <DHT_U.h>

如果这些都不起作用,请确保您已正确安装库。您可以尝试使用已安装的库测试 Arduino IDE 中的示例。


推荐阅读