Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритм работы с датчиком приближения
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
rushack
Здравствуйте.

Думаю моя мысль станет понятно из схемы.

Нажмите для просмотра прикрепленного файла

Наверное так следует подключать, у меня же сейчас R1 подключен к +5В, и написана прошивка. (ну как прошивка, так... пара строчек кода smile.gif )
Но проблема естественно в том, что схема срабатывает при любой ИК помехе, будь то пульт или ик-порт.
Решил сделать по принципу пульта, отправляя и принимая пакет импульсов, но встал в тупик...
Ведь в микроконтроллере идёт последовательное выполнение программы, т.е. одновременно отправить и принять данные не получится? Эдакий асинхронный режим... Или нужно делать отдельный генератор? Как это осуществляется? Я думаю может быть есть у кого-то готовые решения?

Как то я запутался, помогите распутать )

Tanya
Цитата(rushack @ Oct 29 2010, 20:16) *
Как то я запутался, помогите распутать )

Может, Вам сделать коллиматор? В простейшем случае - трубочка, чтобы посторонний свет не попадал?
Лучше обострить фронт - еще один транзистор поставить. Входу (если он логический) это больше понравится. Или триггер Шмитта. Бывают такие входы, где он внутри.
Можете включать свет, потом смотреть, потом выключать, опять смотреть и думать... контроллером.
Думаю, мои мысли будут понятны без схем.
rushack
но ведь не исключено, что всё равно ИК лучи к примеру от пульта ДУ попадут в эту самую трубочку... Тут проблемы с расстоянием нет, всё включается и выключается, но непонятно как избавиться от помех sad.gif
Tanya
Цитата(rushack @ Oct 29 2010, 20:40) *
но ведь не исключено, что всё равно ИК лучи к примеру от пульта ДУ попадут в эту самую трубочку... Тут проблемы с расстоянием нет, всё включается и выключается, но непонятно как избавиться от помех sad.gif

Если бы Ваш источник был все время включен, то его можно было бы заменить пультом, но ведь Вы можете его выключать...
Конечно, злой дядя может сделать изделие, которое будет принимать Ваш свет и подменять его своим. Читать и излучать, имитируя. Или даже световодом пустить луч в обход Вашей охранной зоны.
Тогда придется контролировать амплитуду - это трудно подделать.
kovigor
Цитата(rushack @ Oct 29 2010, 19:16) *
Решил сделать по принципу пульта, отправляя и принимая пакет импульсов, но встал в тупик...
Ведь в микроконтроллере идёт последовательное выполнение программы, т.е. одновременно отправить и принять данные не получится?


Это почему не получится ? Простейший выход - сделайте обработчик прерывания от таймера, который вызывается достаточно часто. Например, если вы выдаете 1000 импульсов в секунду, то обработчик должен вызываться минимум 2000 раз в секунду (вспомните теорему Котельникова). И в этом обработчике делайте все, т.е., читайте принятые биты и формируйте биты, посылаемые на светодиод. Все просто.
А про коллиматор и триггер вам правильно написали. Еще очень советую посмотреть, как делаются такие вещи, например, в даташите на OPT101 ...

P.S. В том же обработчике можно сделать и подавление помехи ("дребезга") - например, можно игнорировать любые импульсы, продолжающиеся менее, чем "N" вхождений в обработчик прерывания.
SergeyGrig
Для подобных приложений придуманы ИК-приемники типа TSOP, например TSOP1736.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.