Кодовый замок на базе ИК-приемника USB

         

Кодовый замок на базе ИК-приемника USB


EVM News
Кодовый замок на базе ИК-приемника USB
      Вся история началась с того, что на работе решили поставит на дверь в складское помещение электронный замок (ну тот что открывается электронным ключом-таблеткой).

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

      Я решил сделать кодовый замок. Условия: отсутствие висящих проводов и крепежных отверстий в стене, минимальные размеры, надежность работы, презентабельный внешний вид, дешевизна (т.к деньги на подобные изыски руководство наотрез отказалось выделять).

Из имеющегося оборудования: электронный замок с ключом таблеткой и параллельно подцепленной кнопкой открывания двери (при кратковременном нажатии замок открывается (снимается напруга с электромагнита) и звучит звуковой сигнал (очень противный).

Руководствуясь поставленными условиями, я изготовил довольно простой и дешевый вариант: приемник ИК сигналов для COM-порта (см. http://msevm.com/main/irda/irx.htm), а затем (уже из конструкторского интереса) - приемник на AT90S2323 (см. http://msevm.com/main/igorusb/index2.htm). Источником сигала был выбран пульт от CDR CREATIV (довольно компактная и красивая штучка) прикрепленный на стену также с помощью 2-х стороннего скотча (рис.1).





Рис.1 Приемник приклеен на 2-хсторонний скотч к монитору, пульт к стене.

      Для приема сигналов испольовалась прога GIRDER (http://msevm.com/program/girder/index.htm). Написал небольшой файлик для набора код в girder (ну если кто пользовался прогой, то я думаю разберется как она работает, а если нет можете обращатся - проконсуьтирую, там все завязано на вкл\выкл соответствующих групп команд). Обращаю внимание, что при наборе кода учитываются и последовательность цифр (в данном случае это были 7-1-3. При нажатии других кнопок или не правильной последовательности происходит сброс ранее набранного кода. После правильного набора кода, Гирдер эмулирует нажатие кнопки (в данном случае Contrl F12). NB-расстояние между пультом и приемником (при условии что должно работать надежно) может достигать 5 метров- я проверял!
Компик стал принимать команды, но нужно же их посылать на исполняющее устройство - решил подцепится к LPT (рис.2)



Рис.2 Принципиальная схема исполнительного устройства.

Только я исключил светодиод и питал от 12 вольт (релюшка РЭС 10, питается от БП компа). После 1-го включения я понял что:
  1. схема получения команд с LPT порта работает
  2. Работает но не так как мне нужно
  3. Что то надо менять
Грабли были в том, что компик прописывает на LPT разные состояния в зависимости от стадии загрузки (вкл. комп. на пин 2LPT висит 1 , запуск винды там же висит 0 (или наоборот), короче: то открыто, то закрыто. А в сочетании с озвучкой от замка полный п.

Пришлось напрячь знающий народ (ребятки у нас работают в основном закончившие ИЖГТУ (ГОСТЕХУниверситет) - они то мне и нарисовали схемку логики, которая бы обеспечивала мне получение полезного сигнала с LPT при условии определенных состояний не на 1-м а на 2-х пинах LPT (проще, если на обоих "0" - тогда выкл. если на обоих "1" тогда выкл., а если на одном "1", а на втором "0" тада вкл. рис.3)



Рис.3 Принципиальная схема доработки исполнительного устройства.



Рис.4 Топология платы логики и собственно ключа.
очередной раз ошибся с зеркальностью платы, релюшка с обратной стороны. Провода: красный +5в, оранж +12в, синий GND, зеленый, серый, фиолетовый - от коммутируемых ног релюшки.

      Команды на LPT-порт посылались в начале через прогу Taymesvitch (http://www.timeswitch.narod.ru). Но уж очень много последовательностей действий нужно было провести гирдеру, для правильной работы, поэтому периодически появлялись глюки в работе (то постоянно открыто, то постоянно закрыто, то отсутствие реакции на мои команды) - поэтому я не выкладываю этот файл гирдера.

А раз нет готовой подходящей проги - значит нуна написать свою. Берем сисадмина за жабры, покупаем пива и вперед. Прога была написана в кратчайшие сроки (1 вечер) с последующей доработкой в течении 1 недели. Для правильной работы проги нужен драйвер (TVicPortInstall), обратите внимание что при установке дров нужно снять все галочки (ну будет там окошко с кучей галочек). Сама прога зовется Doors2.

Она обеспечивает нажатие кнопки (срабатывание реле).

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


PS: выводы LPT порта я использовал №2 и 3, но в принципе можно использовать любые, со 2 по 9. В Doors2 можно выбрать соответствующий управляемый пин (только единственный). Можно переназначить горячую кнопку, вставить звуки, сменить время кнопки (нужно заметить, что реакция релюшки на включение компьютера зависит от материнки: на одной щелкает при включении, на другой нет).
У Doors2 есть явный недостаток - не сворачивается автоматом в трей (может быть исправим), не сохраняются настройка самой проги (горячие клавиши и.т.д) - обязательно исправим.
Пульт от CD-R проработал 1 месяц, а затем накрылся - не вынес такого активного использования - на нем перестали контачить кнопки. Пришлось заменить на телефонный номиронабиратель, прицепил к нему внутренности от миниатюрного пульта ДУ (спрятаны внутрь), но можно взять любой другой. Кстати, миниатюрные пульты можно использовать для бесконтактного отрывания дверей (нужно только добавить 1 команду в файле girder-а), к тому же они оформлены как брелоки!



Файлы:

Doors2.exe
kod.gml
install.exe - TVicPortInstall

Создатель проги Doors2- Сергеев Иван Юрьевич. office@moto18.ru
Схема логики Разумов Вячеслав Slava@moto18.ru
Все это безобразие собрал и подключил Кычанов Павел Анатольевич scorpi@moto18.ru
Если кому-нибудь это интересно - можете со мной списаться, я ничего не изобретаю, просто беру то что придумали другие, собираю в одну кучу и заставляю работать.
Информационная поддержка mailto:msevm@mail.ru (За что ему огромное спасибо!).
Примечания:

1. Авторский текст максимально сохранен.
2. Логическую схему можно упрстить, используя например "исключающее ИЛИ" (555ЛП5)


Содержание раздела