(Код ультразвукового датчика: такого файла или каталога нет)
Начинаю с Arduino, не понимаю, что означает ошибка. Скажите, пожалуйста, где я могу найти ресурсы, чтобы понять это и позволить коду скомпилироваться.
#include <RCSwitch.h>
#include <Ultrasonic.h>
Ultrasonic ultrasonic(11,10);
RCSwitch mySwitch = RCSwitch();
int i;
void setup() {
mySwitch.enableTransmit(4);
}
void loop() {
i = ultrasonic.Ranging(CM);
mySwitch.send(i, 24);
delay(100);
}
Arduino: 1.8.7 (Windows 7), плата: «Arduino/Genuino Uno»
433 МГц-ЖК-передатчик уровня воды: 2:24: ошибка: Ultrasonic.h: Нет такого файл или каталог
компиляция прекращена.
статус выхода 1 Ultrasonic.h: такого файла или каталога нет
В этом отчете будет больше информации, если будет указано «Показать подробный вывод». во время компиляции» включена в меню «Файл» -> «Настройки».
@aras, 👍0
Обсуждение3 ответа
Это означает то, что написано:
Ultrasonic.h: такого файла или каталога нет
Файл Ultrasonic.h
не найден.
Все в вашем коде, начинающееся с #include...
, обычно является библиотекой. Это сторонние программы, которые вам необходимо получить и установить в соответствующее место (см. Установка дополнительных библиотек Arduino). ).
Некоторые библиотеки включены в состав IDE, а некоторые доступны через « менеджер библиотек» в IDE. Однако большинство из них это не так, и вам придется привыкнуть находить эти библиотеки и устанавливать их.
Место, откуда вы взяли код примера, скорее всего, приведет вас к тому, где найти соответствующие библиотеки, чтобы код работал.
Такая ошибка означает, что Arduino IDE (при условии, что вы ее используете) не нашла «Ultrasonic.h» в папке с именем «libraries» в папке скетча Arduino. (Некоторые библиотеки содержатся в других местах исполняемого файла IDE, но размещение дополнительных библиотек в «.../libraries» упрощает поиск и обслуживание).
Перейти к Файл | Настройки
(в Windows или Linux) или Arduino | Настройки
(Mac). Верхнее поле этого диалогового окна — это путь к папке вашего скетча. В этой папке должна быть папка под названием «Библиотеки».
В папке «Библиотеки» должна быть папка для каждой библиотеки, поэтому в этом случае должна быть папка с именем «Ultrasonic», содержащая файлы «Ultrasonic.h» и «Ultrasonic.cpp». Там могут быть и другие элементы, например, папка «Примеры», файл «keywords.txt» (помогает IDE раскрашивать синтаксис), текстовый файл с примечаниями к выпуску и т. д., но важной структурой является
[path/to/your/sketch/folder]
libraries
Ultrasonic
Ultrasonic.h
Ultrasonic.cpp
someotherlibrary
someotherlibrary.h
и т. д.
файлы .h и .cpp библиотеки могут находиться в подпапке src, если используется «новый» формат библиотеки., @Juraj
Действительно - спасибо, что указали на это. Вышеупомянутое следует принять за минимальную базовую структуру., @JRobert
Я нашел другую ультразвуковую библиотеку, решающую мою первую проблему (Ultrasonic.h: нет такого файла или каталога), но затем появилась еще одна ошибка... она говорит (класс Ultrasonic' не имеет члена с именем 'Ranging').... за это время я изменил часть своего кода и теперь работает хорошо
мой код после решения
#include <RCSwitch.h>
#include <Ultrasonic.h>
Ultrasonic ultrasonic(11,10); // (Триггерный ПИН, Эхо-ПИН)
RCSwitch mySwitch = RCSwitch();
int i;
void setup() {
mySwitch.enableTransmit(4);
}
void loop() {
Ultrasonic ultrasonic(11,10,3000); // (Trig PIN, Echo PIN, Max.TimeOut в мкс)
mySwitch.send(3000 ,24);
delay(100);
}
- Несколько неблокирующих таймеров обратного отсчета?
- Датчик HC-SR505 PIR выдает только HIGH уровень
- Отправка данных из ESP8266 в PHP
- Определение уровня заряда с помощью датчика тока (ACS758) с arduino uno
- Использование YS-IRTM с Arduino Uno
- Как объединить два разных скетча датчика в один полный скетч?
- Как использовать фотодиод для arduino?
- Последовательный плоттер не отображает предоставленные мной данные
Вы установили библиотеку?, @gre_gor
Я добавил ультразвуковую библиотеку, но у меня та же ошибка., @user50090
Спасибо за все, моя проблема решена, загрузите ультразвуковой код здесь https://www.arduinolibraries.info/libraries/ultrasonic. Я нашел другую ультразвуковую библиотеку, решающую мою первую проблему (Ultrasonic.h: нет такого файла или каталога), но затем возникла еще одна ошибка. .. он говорит (класс Ultrasonic 'не имеет члена с именем 'Ranging').... за это время я изменил часть своего кода и теперь работает хорошо, мой код после решения включает в себя Ultrasonic Ultrasonic(11,10); // (ПИН триггера, ПИН эхо) RCSwitch mySwitch = RCSwitch(); интервал я; void setup() {mySwitch.enableTransmit(4); } void Loop() { Ультразвуковой ультразвуковой (11,10,3000); // (Три, @aras