Я скачал библиотеку, но не уверен, что пошло не так
C:\Users\Dray98\AppData\Local\Temp\arduino_modified_sketch_819854\sketch_jun09a.ino:2:29: fatal error: Adafruit_Sensor.h: No such file or directory
#include <Adafruit_Sensor.h>
^
compilation terminated.
Multiple libraries were found for "DHT.h"
Used: C:\Users\Dray98\Documents\Arduino\libraries\DHT_sensor_library
Not used: C:\Users\Dray98\Documents\Arduino\libraries\DHT-sensor-library-master
Using library DHT_sensor_library at version 1.3.0 in folder: C:\Users\Dray98\Documents\Arduino\libraries\DHT_sensor_library
exit status 1
Error compiling for board Arduino/Genuino Uno.
@Dray98, 👍2
Обсуждение3 ответа
Вы правильно установили библиотеку Adafruit_Sensor? Если нет, в верхней части интегрированной среды разработки щелкните Включить библиотеку > и посмотрите, есть ли она в списке, и нажмите на нее, если нет, перейдите в верхнюю часть списка и нажмите Управление библиотеками..., найдите и нажмите на нее.>
Когда вы сталкиваетесь с ошибкой No such file or directory
, это обычно означает, что вам необходимо установить библиотеку, содержащую отсутствующий файл (в данном случае Adafruit_Sensor.h).
В идеале документация для кода, который вы пытаетесь скомпилировать, будет содержать инструкции по установке зависимостей.
Иногда автор не прилагал усилий для написания этой документации, и вам нужно будет отправиться на поиски недостающей библиотеки.
Многие библиотеки Arduino находятся в индексе менеджера библиотек, что делает их довольно простыми в установке:
Установка менеджера библиотек
- (В среде IDE Arduino) Скетч > Включить библиотеку >> Управление библиотеками.
- Дождитесь завершения загрузки.
- В поле "Отфильтровать поиск..." введите свой поисковый запрос, в этом случае "уровень абстракции унифицированного датчика adafruit" даст вам один правильный результат, но с небольшим поиском по результатам более общего поиска, такого как "датчик adafruit", вы также получите его.
- Прокрутите результаты поиска, чтобы найти что-то, что выглядит правильно (в данном случае "Единый датчик Adafruit от Adafruit"), затем нажмите на него.
- Нажмите "Установить".
- Дождитесь завершения установки.
- Нажмите кнопку "Закрыть".
Если вы не найдете нужную вам библиотеку в менеджере библиотек, вам придется потратить некоторое время на свою любимую поисковую систему. Как только вы найдете библиотеку и загрузите ее, вам нужно будет установить ее.
.Установка МОЛНИИ
- (В среде IDE Arduino) Скетч > Включить библиотеку >> Добавить .Библиотека ZIP
- Выберите загруженный файл (должен быть .zip).
- Нажмите "Открыть".
Приведенные выше инструкции по установке требуют, чтобы zip-файл имел определенную структуру папок. В некоторых случаях автор библиотеки был недостаточно любезен, чтобы предоставить правильную структуру папок. Если вы получите сообщение об ошибке "Zip не содержит библиотеки", вам потребуется выполнить установку библиотеки вручную.
Ручная Установка
- Распакуйте загруженный файл
- Просмотрите разархивированную папку, пока не найдете папку библиотеки. Это будет либо файл library.properties, либо файл .h.
- Скопируйте папку библиотеки
в папку {Альбом для рисования}/библиотеки
. Вы можете найти папку альбома для рисования в интегрированной среде разработки Arduino в Файле > Свойства >> Расположение альбома для рисования>>. Вам нужно будет перезапустить среду IDE Arduino, прежде чем скетчи примеров для библиотек, установленных вручную, появятся в меню Файл > Примеры>.
извините, Пер, но это не решение проблемы, @Juraj
@juraj, пожалуйста, объясните, почему это не решение проблемы. В дополнение к предоставлению ответа на конкретный вопрос "как исправить" фатальную ошибку: Adafruit_Sensor.h: Нет такого файла или каталога", я также ответил на более общий вопрос "как исправить" фатальную ошибку: foobar.h: Нет такого файла или каталога`". Это важно, потому что ошибки такого типа будут возникать часто, но они не всегда будут связаны с единой библиотекой датчиков Adafruit., @per1234
извините, я видел только предупреждение "Несколько библиотек"., @Juraj
Ваша проблема в том, что вы не установили Adafruit_Sensor.h
, который является зависимостью библиотеки DHT Adafruits. В файле README на Github для библиотеки DHT также говорится следующее:
Для использования этого класса у вас должны быть установлены следующие библиотеки Arduino :
Adafruit Unified Sensor Library
Вы можете найти Adafruit_Sensor.h
здесь, на Github. Установите его в папку "Библиотеки". Вы можете обратиться к ответу от per1234 для получения инструкций по установке библиотек.
--
Вторая часть вашего вывода ошибок на самом деле не является ошибкой. Как уже говорилось ранее, среда IDE сообщает вам только, какую версию библиотеки DHT она использует. Если вы хотите иметь несколько версий в папке "Библиотеки", вам нужно будет убедиться, что вы всегда используете правильную версию. Если они идентичны, вы можете удалить один из них, если хотите. Результат не будет отличаться, за исключением того, что IDE не должна указывать вам, какую библиотеку она использует.
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Пожалуйста, отредактируйте свой вопрос и добавьте объяснение того, над чем вы работаете. Поместите этот текст перед тем, что выглядит как результат сеанса компилятора Arduino. Расскажите нам, как вы пытались решить эту проблему. Плакаты, которые устали и потерпели неудачу, получают лучшие отклики, чем плакаты, которые вообще ничего не пытаются. Если вы не сделаете этого в ближайшее время, люди, скорее всего, проголосуют за то, чтобы закрыть ваш вопрос, и вы не получите ответа., @st2000