MisieNikita, ну если нужен таки исходник - тогда определитесь с МК и у производителя смотрите нужные библиотеки и примеры использования 1-wire.
Так работают не только TM ключи, но и например известные DS18B20.
Ну и потом писать, писать и писать…
А написанное уже в Proteus и проверять работу.
Алгоритм там весьма прост:
- считать ключ;
- проверить по списку ключей;
- при известном ключе открыть замок;
- при неизвестном ключе - запомнить в памяти и инкрементировать счётчик, при счётчике ›3 заболокировать обработку на указанное время;
- при мастер-ключе перейти в сервисный режим;
- в сервисном режиме - при появлении известного ключа ждать его повторного появления и удалить из памяти, при появлении неизвестного ключа ждать его повторного появления и добавить в память, при отсутствии изменений на считывателе в течении некоторого времени выйти из сервисного режима;
Необходимые состояния отобразить соответствующим светодиодом и звуковым сигналом.
Кнопку выхода можно напрямую на управление реле.
В данном алгоритме нет журнала событий, очереди сообщений и связи с верхним уровнем СКУД,…
Схему, только придётся добавить внешней памятью для сохранения кодов ключей, а так для старта можно вполне использовать.
Формально расписан алгоритм работы контроллера
Z-5R