Я пытаюсь использовать E18-D80NK, но выход всегда равен 1

я пытаюсь использовать датчик E18-D80NK с arduino, но выход всегда на 1, я действительно не понимаю, почему Вот мой код :

int irPin2 = 8;// define pint 2 for sensor

void setup() {
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(irPin2, INPUT);// define pin as Input  sensor
}

void loop() {
  int out = digitalRead(irPin2);// read the sensor 

    Serial.println(out);

  delay(250);
 // E18-D80NK Датчик препятствий 
}

и схема: E18-D80NK Obstacle Sensor

, 👍1

Обсуждение

Что вы видите, когда присоединяете к датчику осциллограф или вольтметр? Мигает ли светодиод на датчике, когда вы помещаете объект перед датчиком?, @imalipusram

К сожалению у меня нет этого объекта но на терминале arduino я все время вижу выход 1 in, @dinuc

Дешевый цифровой вольтметр (лучше: оценщик) или недорогой осциллограф в стиле DSO138 время от времени спасут вашу голову..., @imalipusram

видите ли вы какую-нибудь ошибку в моем проекте? это таблица данных http://www.energiazero.org/arduino_sensori/wiring%20the%20e18-d80nk%20infrared%20distance%20ranging%20sensor.pdf, @dinuc


2 ответа


1

Есть несколько вариантов того, что не так:

1) Проводка может быть неправильной: в справочнике,на который вы ссылаетесь,перечислены два типа (красный,черный,желтый) и (синий, коричневый, черный), но на вашем рисунке это выглядит так, как будто у вас есть (синий, серый, черный). Я бы не стал предполагать, что цветовая кодировка проводов датчика правильна.

2) "Подтягивающий" резистор, упомянутый в упомянутом техническом паспорте (и включенной схеме), не функционирует как подтягивающий резистор. Я бы избавился от резистора и подключил провод цифрового выхода датчика непосредственно к входу arduino. Кроме того, попробуйте настроить ввод с помощью подтягивания, например: pinMode(irPin2, INPUT_PULLUP); Входы Arduino имеют высокое сопротивление и, как правило, не нуждаются в последовательном резисторе.

,

Ваш второй пункт, вероятно, и есть проблема. Схема подключения в техническом описании неверна. Сигнальная линия нуждается в подтягивании (внутреннем или внешнем)., @StarCat

Спасибо за вашу помощь, я попытался подключить провод цифрового ввода непосредственно к входу arduino, но это не работает, выход по-прежнему равен "1" каждый раз, когда я помещаю объект перед датчиком, @dinuc

Тогда возможность 1) выше, скорее всего, проблема. Существует не так много комбинаций, поэтому методом проб и ошибок вы сможете найти правильное расположение проводов., @Jeff Wahaus

я пробовал разные комбинации, но это не работает.. я думаю, что мой датчик может быть неисправен, @dinuc

Или, возможно, требуется регулировка чувствительности датчика., @Jeff Wahaus


1

Ваш датчик тянет низко и не высоко, обычно они тянут высоко , однако я купил несколько, которые постоянно включены, а затем переключаются ( тянут низко), когда объект находится в пределах досягаемости.

,