Подключение ИК - дальномера(?) ИК - 80 (возможно)

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Помогите с подключением такого зверя - 

к ардуино (Мега2560, точнее к его сенсоршилду), пожалуйста! Затык в том, что провода, идущие от девайса собраны в колодку в таком порядке: жёлтый-черный-красный, то есть, по идее - сигнал-минус-плюс. На сенсоршилде пины идут в порядке - сигнал-плюс-минус, то есть плюс и минус меняются местами. Если подключить согласно общепринятым нормам - желтый в сигнальный пин, черный к минусу, красный к плюсу, то, при снятии цифрового сигнала всегда получается HIGH. Если подключить не совсем по логике - то есть всю колодку прямо на сенсоршилд, как она есть (красный - минус, черный - плюс, желтый сигнал), то на цифровом входе - всегда LOW. Если послать логику к чертям и подключить наоборот - красный - сигнал, черный - плюс, желтый - минус, то на входе имеем HIGH. Что делать дальше - вообще непонятно, если есть мысли - пишите, буду сильно благодарен.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Может приведете ссылку на даташит? Или еще куда, а то картинка как-то малоинформативна. Владельцев сего девайса на форуме, похоже, нет...

maksim
Offline
Зарегистрирован: 12.02.2012

А там случайно крутилочки сзаду нету? Крутить пробовали?

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Так был бы даташит, или хотя бы название, я бы и вопросов задавать не стал - на сайте продавца единственная информация - это что выход цифровой. Вот, собственно, ссылка - http://dvrobot.ru/shop/i94.ik_-_80.htm. Другой информации я, к сожалению, найти не могу. Начал расколупывать девайс - у него с торцов крышечки из хрупкой пластмассы, приклеены. Ну да ладно - одну отковырял, не помогло - чтобы его открыть, надо весь корпус раздолбать - а я его из-за удобного корпуса и брал - мне как раз такая трубочка нужна. Вот и не знаю, чего делать.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Есть крутилочка - крутится неограниченно в любую сторону (по крайней мере, оборотов на 20 туда и сюда точно) - ничего не меняется.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Причем, похоже, что я чего-то не понимаю, потому что таких штук у меня две:) и обе ведут себя одинаково - вряд ли обе бракованные.

maksim
Offline
Зарегистрирован: 12.02.2012

А что у вас за шилд? на него хотябы доки есть?

go6pbiu
Offline
Зарегистрирован: 30.10.2012

шилд у меня обычный - mega sensor shield v 2.0, вот такой - http://www.sainsmart.com/sainsmart-sensor-shield-v2-for-arduino-mega-2560-r3-1280-iic-bluetooth-lcd-sd-io.html.

maksim
Offline
Зарегистрирован: 12.02.2012

Внешнее питание к шилду не подключаете и перемычка установлена?

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Пока снимаю данные - внешнее питание отключено. А перемычка установлена. Убрать? Я как-то не вникал еще в её сущность, не знаю, зачем она, если честно.

maksim
Offline
Зарегистрирован: 12.02.2012

Нет, скорее всего наоборот, без внешнего питания должна стоять.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Ага. Ну всё так и есть. Всё, тупик, выкидывать хреновины?

asqer
asqer аватар
Offline
Зарегистрирован: 29.08.2012

 



Test Code :

int ledPin = 13;
int switchPin = 7;
int value = 0;

void setup() {
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {
value = digitalRead(switchPin);
if (HIGH == value) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
//delay(100);
}

 

maksim
Offline
Зарегистрирован: 12.02.2012

А если так ?

int ledPin = 13;
int switchPin = 7;
int value = 0;

void setup() {
pinMode(switchPin, INPUT);
digitalWrite(switchPin, HIGH);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {
value = digitalRead(switchPin);
if (HIGH == value) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
//delay(100);
}

 

go6pbiu
Offline
Зарегистрирован: 30.10.2012

К сожалению, нет. Все время HIGH на 7 пине.

maksim
Offline
Зарегистрирован: 12.02.2012

Что бы выяснить есть ли питание на датчике и работает ли он, можно взять видеокамеру (любую, сотовый телефон) и посмотреть через камеру в "рыло" датчику, один из его глаз должен светиться.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

А попробуйте подключить и опрашивать как здесь, мне кажется, очень похоже...

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Во я тупой. Точно. Спасибо за наводку, попробую.

maksim
Offline
Зарегистрирован: 12.02.2012

Так точно не прокатит. Тогда бы подстроечного резистора сзади небыло.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Спасибо, я попробую, только завтра уже:) Спать пора.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

maksim пишет:

Так точно не прокатит. Тогда бы подстроечного резистора сзади небыло.

Не факт. Это может быть калибровочный резистор - типа "чувствительность".

Хотя это может быть не дальномер, а датчик приближения и резистор задает расстояние. Это проверить просто - подали питание - на выходе 1. Пододвинули твердый плосский предмет - на выходе должен появиться 0.

maksim
Offline
Зарегистрирован: 12.02.2012

Так вот в том и дело, что так не работает, я уж не думаю что go6pbiu как то по другому проверяет.
Резистором задается чувствительность (расстояние) заявленно от 3 до 80 см.
А тем способом что выше замеряют время отраженной волны, по крайней мере я на своем веку не встречал ИК-датчиков с таким "интерфейсом".

step962
Offline
Зарегистрирован: 23.05.2011

go6pbiu пишет:

 Если подключить не совсем по логике - то есть всю колодку прямо на сенсоршилд, как она есть (красный - минус, черный - плюс, желтый сигнал), то на цифровом входе - всегда LOW.

Он же:

 

Цитата:

value = digitalRead(switchPin);

 

Ну а если попробовать:

value = analogRead(switchPin);

Ведь - чем черт не шутит - может быть, у вас в руках аналоговый IR-датчик, функционально подобный вот такому (п. 6-1, 6-2)?

UPD: Хотя нет - датчик-то там аналоговый, но встроенный (и настраиваемый - уже упоминавшаяся здесь вертелка) триггер превращает его в как-бы цифровой (LOW/HIGH).

UPD2: Имя датчику, похоже, 

E18-D50NK

(картинки на Google по запросу "3 wire IR proximity sensor" быстро наводят на след)

Mastino
Offline
Зарегистрирован: 03.12.2011

Если еще актуально: желтый в сигнальный пин, черный к минусу, красный к плюсу(5V).  Когда препятствия нету должен быть HIGH, когда препятствие есть LOW и загорается встроенный красный диод.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

maksim пишет:

Так вот в том и дело, что так не работает, я уж не думаю что go6pbiu как то по другому проверяет.
Резистором задается чувствительность (расстояние) заявленно от 3 до 80 см.
А тем способом что выше замеряют время отраженной волны, по крайней мере я на своем веку не встречал ИК-датчиков с таким "интерфейсом".

Чиёрт! Пропустил мимо головы то, что датчик ИК :(

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Последние известия с фронтов: подключил черный провод к минусу, красный к плюсу - диод светится, проверил камерой! Сейчас попробую с аналогового входа снимать чего там будет, но красная лампочка на попе не загорается ни в какую:(

maksim
Offline
Зарегистрирован: 12.02.2012

Значит питание подключено правильно и ИК-диод работает. И не бойтесь крутить подстроечник, он если не ошибаюсь в крайних положениях прощелкивать начинает, попробуйте в крайних положениях проверить, вы почувствуете, что уперлись в крайнее положение.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

на аналоговом входе всю дорогу от 1017 до 1022

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Докрутил я "подстроечник" по часовой до щелчков, потом в в обратную сторону - оборотов 30, цифры вообще не меняются. 

maksim
Offline
Зарегистрирован: 12.02.2012

Так вы к датчику руку подносите? Но не закрывайте датчик совсем, что бы произошло срабатывание нужно некоторое растояние до объекта сантиметров 3 - 5.

maksim
Offline
Зарегистрирован: 12.02.2012

Они разборные? мультиметр имеется? паять умеете?

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Верчу в разные стороны - и в стол, и в пол, и в глаз - всё едино. Беда осложняется тем, что неразборные они, а корпус у них прям такой, как мне надо - жалко ломать. И мультиметр есть, и паять умею, в крайнем случае, раздолбаю, конечно, но вдруг найдется тот, кто прям такой уже подключал - и рррраз и всё расскажет мне:). Вот мысль еще пришла - есть шарповские дальномеры, типа вот такого - 

так вот, с них как-то хитро сигнал вроде снимается, даже библиотека есть специальная, может, и у меня та же петрушка?

maksim
Offline
Зарегистрирован: 12.02.2012

Нет, это аналоговый датчик и там ничего хитрого нету - просто сигнал не линейный.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Так а чего там мультиметром и паяльником делать надо? Раздолбаю я его всё-таки, интересно же, чего он такой... подлый.

maksim
Offline
Зарегистрирован: 12.02.2012

Вы когда их самый первый раз подключали, сразу воткнули в шилд, не меняя провода местами?

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Да, сразу воткнул, и, судя, по всему, неправильно. Причем два раза. Мне стыдно.

maksim
Offline
Зарегистрирован: 12.02.2012

Кто ж знал, что там китайцы провода местами поменяли... внутри скорее всего стит операционный усилитель и (или) МК какой стоит, который и здох при переполюсации. Ну а может и китайцы че не допаяли. В общем если сдох, то вы можете переделать его в "запаристо" аналоговый датчик убрав внутреннюю плату и припаявшись наплямую (через резистор) к ИК-диоду и фототранзистору (или фотодиоду). То есть на один датчик будет задействовано 2 вывода дуины, работать он будет так: включаете ИК-диод замеряете уровень освещения на фототранзисторе, выключаете ИК-диод, замеряете уровень освещения на фототранзисторе, вычитаете из первого замера второй - получаете результат. Так нужно для того, чтобы компенсировать внешнюю засветку.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

А как рассчитать номинал резистора, какие нужны для этого данные? В электротехнике я лох, "паять" умею чисто в смысле "подцепить паяльником припой и слепить им контакты".

maksim
Offline
Зарегистрирован: 12.02.2012

Этот резистор на плате внутри датчика есть.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

понял, спасибо, буду пробовать

maksim
Offline
Зарегистрирован: 12.02.2012

Вы для начала посмотрите на предмет "непропая", мало ли. И лучше прежде чем паять выложите фоты обеих сторон платы.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Хорошо, вечером раскурочу и зафотаю.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

go6pbiu
Offline
Зарегистрирован: 30.10.2012

go6pbiu
Offline
Зарегистрирован: 30.10.2012

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Вот она - рыба моей мечты. Проводки покоцал, пока проверял.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Эх, покрупнее бы и без проводочков (загораживают)

Судя по всему, выход аналоговый, причем "подтягивать" его нужно к земле.

Попробуйте подать 5 вольт и измерить сопротивление между красным и желтым проводом (красный щуп мультиметра - к красному проводу) с препятствием перед датчиком и без. Напишите, что получится, будем думать...

maksim
Offline
Зарегистрирован: 12.02.2012

Нда, я то думал там хоть усилитель стоит, ан нет, даже никакой компенсации засветки нету, ну и го..но, а стоят как самолет. Да, надо поклупнее.

go6pbiu
Offline
Зарегистрирован: 30.10.2012

go6pbiu
Offline
Зарегистрирован: 30.10.2012

go6pbiu
Offline
Зарегистрирован: 30.10.2012

Вот и покрупнее. И мало того, что стоят, как самолет, так еще и не работают - воистину - гамно.