IR датчик

Lesso
Offline
Зарегистрирован: 15.12.2015

Добрый день!

Озадачился сделать ИК датчик, который бы работал на определенном расстоянии. Что-то похожее есть на Али, но ждать долго и не совсем подходит.

Принцип прост, светодиод светит, приемник принимает сигнал, резистором переменником регулируем ток(силу свечения), то есть регулируем тистанцию срабатывания для датчика. Если на максимуме - это полметра, то прикрутив ток можно получить 0.3м или 0.1м. Так как для стабильности такого датчика необходимо модулировать сигнал, то на ум приходи в качестве приемника использовать TSOP, ну и соответственно генерировать процессором сигнал, принимать на TSOP, декодировать, сравнивать и в случае если это то, что надо, выдавать команду.

На практике столкнулся с тем, как это всё одновременно запустить на одном кристалле. Нашел библиотеку IRremoute, научился получать коды с кнопок, даже отправлять с диода ИК. Но я так понимаю, что пока гененрируется какой-то сигнал, в этот момент не обрабатываются входы, потом программа опрашивает TSOP, а там уже ничего нет.

Собственно пока писалб пришло в голову например генерировать постоянный сигнал, а выход с TSOP завязать на прерывание. Но тогда он будет срабатывать от любого ИК пульта. Необходимо обрабатывать какой-нибудь более менее длинный пакет, чтоб снизить количество ложных срабатываний.

Не пойму в какую чторону копать, делать на двух кристаллах, один будет что-то постоянно генерировать, а второй опрашивать - не особо вариант. В принципе вообще хотел это переделать потом под Tinny 13. Мне кажется что я изобретаю велосипед, и он никак не изобретается. Может кто-то подскажет с готовыми решениями или хотя бы как это принципиально реализовать?

Lesso
Offline
Зарегистрирован: 15.12.2015

Подскажите, есть возможность на отдельном выходе сделать генератор мианда, чтобы он был независимым и можно было использовать Arduino по полной, то есть опрашивать входы и выполнять программу?

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

Lesso, tone()  проще некуда.

Lesso
Offline
Зарегистрирован: 15.12.2015

Спасибо, почитаю, я просто только начинаю знакомство с Ардуино. Может и по сабжу подскажете? Я так понимаю просто надо генерировать пакет независимо от основного цикла, а основным его опрашивать и сравнивать. 

Beginner100500
Offline
Зарегистрирован: 24.07.2015

tone() - это просто "меандр". Пакет из него надо делать самостоятельно. У Ардуино Мега2560 есть замечательный вывод №13. На нем есть сразу 2 ШИМ от 0-го таймера и от 1-го. Это позволяет одним генерировать меандр заданной скважности, а вторым его модулировать "сколько раз свистеть, и как долго молчать". Получится "пакет". Минус - только один: эта же нога жестко запаяна на "диагностический" светодиод на плате. То есть он тоже будет мигать этим же самым пакетом.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Копайте лучше в сторону SHARPов.
Хотя  я сам недавно с ними очень сильно намучился.
В принципе неплохо работают, но иногда выдают одно ложное измерение. Раз в несколько секунд.
Фильтровал сразу его выход хорошими кондёрами, потом 64 измерения со средним,
потом ещё десяток раз перепроверка условия срабатывания шлюза.....
Может быть потому что их было 8 штук с интервалом 30 сантиметров поперёк коридора?
Хотя показывают чётко, но иногда вдруг, как-бы случайно и  редко вместо метра 20 сантиметров.
Хотя по принципу работы им всё равно на свойства поверхности от которой идёт отражение.
https://www.google.ru/search?q=sharp+ir&newwindow=1&biw=1920&bih=965&sou...
 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

На али как раз есть такие датчики с регулировкой дальности пакета посылки и регулировкой усиления принятого сигнала - чувствительность приемника. Заказал себе таких 5шт: http://ru.aliexpress.com/item/Free-Shipping-5pcs-Infrared-barrier-module...

для подготовки к предстоящим соревнованиям "бег по линии". Надо был 3шт, но увы продают только по 5.

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

Вовуся
Offline
Зарегистрирован: 11.04.2014

Удалось ли решить эту задачу? Я тоже озабочен изготовлением помехоустойчивого датчика отражения