Нет функции согласования для вызова Ultrasonic:Ultrasonic(int,int)
добрый день! Я пытаюсь закодировать расстояние ультразвукового датчика, но проблема в том, что он дает мне эту ошибку. Есть идеи? Пожалуйста, помогите.
#include <Ultrasonic.h>
// HR-SC04 SENSOR
#define TRIGGER_PIN 5
#define ECHO_PIN 6
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
void setup() {
Serial.begin(9600);
}
// Глобальные переменные
int lastDistance = 0;
int thisDistance = 0;
void loop()
{
// Копирование последнее расстояние
lastDistance = thisDistance;
// Получить новое это расстояние
thisDistance = ultrasonic.Ranging(CM);
if (outlierCheck(lastDistance, thisDistance)) {
Serial.println("Outlier found: " + String(thisDistance));
} else {
Serial.println(String(thisDistance) + " cm");
}
delay(10);
}
// Проверьте наличие значительных скачков и выбросов при считывании датчика
bool outlierCheck(int lastDistance, int thisDistance) {
// if the difference between measures is greater then 20cm, outlier found
if ((lastDistance - thisDistance) > 20) {
return true;
} else {
return false;
}
}
@Megumichan, 👍0
Обсуждение1 ответ
Скорее всего, вы перепутали библиотеки.
При использовании кода с библиотекой по адресу https://github.com/JRodrigoTech/Ultrasonic-HC-SR04, код компилируется совершенно нормально. Конструкторы совпадают с вашим кодом.
//Конструктор 1
Ultrasonic(int TP, int EP);
//Конструктор 2
Ultrasonic(int TP, int EP, long TO);
//методы.. (используется в вашем источнике)
long Timing();
long Ranging(int sys);
Я думаю, что вы установили эту ультразвуковую библиотеку: https://github.com/ErickSimoes/Ultrasonic. Он имеет тот же файл заголовка и имя класса, но класс построен по-другому
//Конструктор 1
Ultrasonic(uint8_t sigPin) : Ultrasonic(sigPin, sigPin) {};
//Конструктор 2
Ultrasonic(uint8_t trigPin, uint8_t echoPin, unsigned long timeOut = 20000UL);
//Обратите внимание, что конструктор только с 2 аргументами напрямую не виден
Вам следует зайти в Arduino IDE и удалить текущую библиотеку "Ультразвук" из менеджера библиотек. Затем загрузите zip-файл из первого указанного репозитория github и добавьте этот ZIP-файл в свои библиотеки.
В качестве альтернативы, конечно, вы можете использовать вторую библиотеку и ее правильный пример кода.
Также обратите внимание, что ваша Arduino IDE 1.0.6 чрезвычайно устарела, текущая версия 1.8.5
- bh1750 lightsesor не будет работать
- Могут ли ESP8266 и HC-SR04 дружить?
- Как определить направление вращения с помощью датчика времени энкодера (фотоэлектрический датчик скорости)?
- Как устранить сообщение об ошибке "assignment of function 'void digitalWrite (uint8_t, uint_8)"?
- Как сохранить данные на SD-карту с помощью модуля защиты памяти SPI
- Сервер Nodemcu с несколькими датчиками
- ESP32 не может считывать данные с датчиков DHT11, MH-Z19C
- Требуются точные значения цвета RGB с помощью датчика цвета tcs3200 RGB
посмотрите на демонстрационный код который поставляется вместе с библиотекой, @jsotola
Я уже сделал, но это все еще дает мне эту ошибку "Ультразвуковой ультразвуковой(TRIGGER_PIN, ECHO_PIN);", @Megumichan
сообщения об ошибках говорят вам, в чем проблема ... взгляните еще раз на демонстрационный код, @jsotola