Кодовый замок на базе ИК-приемника USB
EVM News
Кодовый замок на базе ИК-приемника USB |
Вся история началась с того, что на работе решили поставит на дверь в складское помещение электронный замок (ну тот что открывается электронным ключом-таблеткой). Всё было замечательно, но, в течении первого же месяца у половины коллектива ключи просто потерялись. Покупка и программирование новых ключей - дело хлопотное и никому не нужное. Посему стол человека, который сидит ближе всех к двери был оснащен кнопкой, при нажатии на которую дверь открывалась. Все было-бы хорошо, но уже через 2 недели нажиманий (по просьбе беспрестанно снующих туда-сюда сотрудников конторы, потерявших ключи) человек за столом с кнопкой стал очень нервным и раздражительным. На очередную просьбу нажать кнопку он отзывался репликами с указанием места куда собственно идти всем сотрудникам, вместе с теми кто поставил эту бл... кнопку и этот ... замок. Будучи человеком с медицинским образованием я не мог спокойно наблюдать за ухудшением состояния здоровья моего коллеги и стал думать, как помочь ему. Было принято решение провести радикальное лечение-устранение раздражающего фактора. Коллеги к такому шагу явно были не готовы - они стали грмко и грязно высказыватся в адрес меня и моего нервного коллеги, а мои возражения типа: "не надо было терять ключи" воспринимались настолько агрессивно, что мне вновь пришлось задуматься. Я решил сделать кодовый замок. Условия: отсутствие висящих проводов и крепежных отверстий в стене, минимальные размеры, надежность работы, презентабельный внешний вид, дешевизна (т.к деньги на подобные изыски руководство наотрез отказалось выделять). Рис.1 Приемник приклеен на 2-хсторонний скотч к монитору, пульт к стене. Для приема сигналов испольовалась прога GIRDER (http://msevm.com/program/girder/index.htm). Написал небольшой файлик для набора код в girder (ну если кто пользовался прогой, то я думаю разберется как она работает, а если нет можете обращатся - проконсуьтирую, там все завязано на вкл\выкл соответствующих групп команд). Обращаю внимание, что при наборе кода учитываются и последовательность цифр (в данном случае это были 7-1-3. При нажатии других кнопок или не правильной последовательности происходит сброс ранее набранного кода. После правильного набора кода, Гирдер эмулирует нажатие кнопки (в данном случае Contrl F12). NB-расстояние между пультом и приемником (при условии что должно работать надежно) может достигать 5 метров- я проверял! Рис.2 Принципиальная схема исполнительного устройства. Только я исключил светодиод и питал от 12 вольт (релюшка РЭС 10, питается от БП компа). После 1-го включения я понял что: схема получения команд с LPT порта работает Работает но не так как мне нужно Что то надо менять Грабли были в том, что компик прописывает на 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). Но уж очень много последовательностей действий нужно было провести гирдеру, для правильной работы, поэтому периодически появлялись глюки в работе (то постоянно открыто, то постоянно закрыто, то отсутствие реакции на мои команды) - поэтому я не выкладываю этот файл гирдера.
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) |