Библиотека DHT.h не импортируется
Я пытаюсь считать влажность и температуру с помощью датчика температуры DHT11 для Arduino UNO, используя библиотеку DHT.h
. У меня есть код ниже:
#include <DHT.h>
#define dataPin 4
dht DHT;
void setup() {
Serial.begin(9600)
}
void loop() {
int readData = DHT.read11(dataPin);
float t = DHT.temperature;
float h = DHT.humidity;
Serial.println("Temperature: ")
Serial.print(t)
Serial.print(" ºC")
Serial.println("Humidity: ")
Serial.print(h)
Serial.print(" % ")
delay(2000)
}
При компиляции программы выдает ошибку:
fatal error: DHT.h: No such file or directory
Я также пытался использовать строчные буквы, но это не сработает. Есть ли причина, почему? Должен ли я установить его? Я попытался найти библиотеку в приложении Arduino Sketch — Include Library — Manage Libraries, но библиотеки там нет.
@Oqhax, 👍1
Обсуждение3 ответа
- Загрузить https://github.com/RobTillaart/Arduino/archive/master.zip
- Скопируйте подпапку
Arduino-master/libraries/DHTstable
загруженного файла в подпапкуlibraries
папки вашего альбома. Вы можете найти папку с альбомом для скетчей в разделе Файл > Настройки > Расположение папки для скетчей в Arduino IDE. Измените первую строку скетча с:
#include <DHT.h>
к:
#include <dht.h>
Теперь при попытке скомпилировать скетч вы по-прежнему будете сталкиваться с множеством ошибок. Однако они вызваны недостатком точек с запятой, а не библиотекой DHT, и, следовательно, не по теме этого вопроса.
Спасибо, @per1234, теперь ошибка не появляется. Но показания влажности и температуры неверны. Здесь температура около 20 градусов по Цельсию при влажности около 60%. А Arduino показывает температуру 2,3 градуса Цельсия и влажность 13%. Почему так? Как это исправить?, @Naseeb Gill
У меня возникли проблемы с использованием некоторых версий библиотеки DHT
. Я предлагаю вам попробовать использовать другую версию dht.h
Эта версия мне подходит (есть более новые версии, но я рекомендую начать с этой старой, но золотой):
dht.h (606B, 12.06.2012)
//
// ФАЙЛ: dht.h
// ВЕРСИЯ: 0.1.00
// НАЗНАЧЕНИЕ: DHT Temperature & Библиотека датчика влажности для Arduino
//
// URL-адрес: http://arduino.cc/playground/Main/DHTLib
//
// ИСТОРИЯ:
// см. файл dht.cpp
//
#ifndef dht_h
#define dht_h
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#define DHT_LIB_VERSION "0.1.00"
class dht
{
public:
int read11(uint8_t pin);
int read22(uint8_t pin);
double humidity;
double temperature;
private:
uint8_t bits[5]; // буфер для приема данных
int read(uint8_t pin);
};
#endif
//
// КОНЕЦ ФАЙЛА
//
попробуйте скачать эту библиотеку по этой ссылке и вставить в свой ide, у меня работает.
https://github.com/adafruit/DHT-sensor-library
- Как использовать SPI на Arduino?
- Светодиоды: разница между общим анодом и общим катодом
- Как повторить кусок кода
- Сброс Arduino UNO с помощью SIM800L
- Почему эта программа на C++ не может прочитать Serial.write() моего arduino?
- Как узнать, нужно ли мне использовать резистор в цепи?
- Как изменить переменную при нажатии кнопки, подключенной к контакту 2
- Отображение двоичных данных на светодиодах
На самом деле это пользовательская библиотека от adafruit. Он присутствует на https://github.com/adafruit/DHT-sensor-library., @svtag
adafruit/DHT-sensor-library не является правильной библиотекой для кода в вопросе. Этот код написан для другой библиотеки, для которой я предоставил инструкции ниже., @per1234
кажется, с вашей библиотекой проблем нет. Вы откалибровали свою формулу (математическое уравнение внутри кодирования)?, @ben