Крутой дубликатор домофонных ключей на Arduino

Привет, друзья!
Я запилил копировальщик домофонных ключей на ардуино и сделал пару видосов на своём канале youtube про копирование контактных ключей типа Dallas, токовых ключей Cyfral и Metakom, а также про копирование rfid ключей типа EM-Marine, работающих на частоте 125 кГц. Как раз такие используются в домофонах наших подъездов.

Подробное видео можно посмотреть тут:

Электрическая Схема

Так выглядит схема копировальщика: к ардуино нано подключается луза для копирования контактных ключей, а к ногам 11 и 7 подключается вход и выход rfid модуля.
Rgb-cветодиод для индикации режима чтение/запись/BlueMode, buzzer — для попискивания. Энкодер — для управления дибликатором. На шине i2c подцеплен oled дисплей.

Схема дубликатора

Корпус и Механическая сборка

Я забацал 3D модель кастомного корпуса для моего дубликатора.

А вот как это напечаталось на 3D принтере. У меня нет принтера, но я нашёл человека через сервис дружественная печать.

Чтобы плата энкодера влезла в корпус ее необходимо немного подпилить напильником с конца, на котором нет дорожек.

Катушку можно взять готовую, например от модуля rdm или купить у китайцев на али на 340 мкГн.
Если будете мотать на спичечный короб — это 59 витков.

Вот как выглядит аппарат в сборе.

Скетч и библиотеки

Ссылка на гитхаб библиотеки и скетч. Библиотеки oled дисплея и oneWireSlave нужно сложить в папочку libraries среды ардуино. Для энкодера я использую библиотеку от Алекса Гайвера. Её нужно распаковать туда же.
Также нужно доустановить библиотеку oneWire и TimerOne из репозитория библиотек ардуино.

Описание работы дубликатора

При запуске копировальщик достаёт из eeprom последний сохранённый туда ключик и показывает на дисплее количество ключей в EEPROM, шифр ключа и его тип. Максимум в дубликатор можно сохранить 20 разных ключей.
Rgb диод светит зелёным, т.е ключ уже можно писать на болванку. Если в EEPROM было пусто, на экране будет соответствующая надпись, в ожидании чтения ключа.
Чтобы выбрать из EEPROM другой ключ , достаточно покрутить энкодер вправо или влево.

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

Для перевода в режим записи жмём на кнопку энкодера — светится красный диод. Ключ который отображается на дисплее будет записан на болванку.

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

Но и это ещё не всё! Я прикинул, а что если сделать эмулятор rfid ключа? У меня есть девайс, который может хранить до 20 разных ключей, в нем есть мозги и рамка, как в обычном ключе. С манчестерским кодом я уже разобрался….
Короче, жмём на кнопку энкодера и переключаемся в третий режим — blueMode. Достаточно поднести дубликатор к домофону и … опа.. дверь открывается! Магия!

Если вам понравился проект — поддержите автора!

Если вам нравится самоделка, но чувствуете, что сил сделать самому пока не достаточно — можете заказать самоделку в авторском исполнении.

  • Дубликатор 3200 руб
  • Комплект для самостоятельной сборки 2300 руб

Доставка в ваш город составляет примерно 250 руб и уже входит в стоимость.

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

Необходимые Материалы

Конденсаторы любые неполярные. Я использовал керамические на 50В.

Полезные ссылки

521 комментарий к «Крутой дубликатор домофонных ключей на Arduino»

  1. Добрый день.
    Нужна помощь в подключении энкодера и лузы.
    Энкодер какие пины куда подключать на колодку ?
    CLK, DT, SW, +, GND в какой последовательности Помогите пожалуйста.
    Луза :
    Красный ТМ+
    Черный ТМ-
    Жёлтый LED+
    Белый LED-
    Тоже не могу разобраться как их правильно вставить в пины.
    ПОМОГИТЕ ПОЖАЛУЙСТА

    1. Энкодер:
      CLK — D8
      DT — D9
      SW — D10
      «+» — 5V
      GND — на землю в любом месте

      Луза:
      зелёный — А3
      красный — на отдельную 6 pin колодку (на фото видно)
      белый и чёрный — это светодиод, его можно вообще не подключать (я так и поступил)

  2. Распиновка энкодера есть на схеме автора, где фотография энкодера. По поводу лузы, распиновка есть на схеме принципиальной, где 220 Ом питание светодиода. Если вы сделали плату, то подключаете в нужные разъемы на плате.

  3. Здравствуйте я собрал это, считывает(ME-Marine), но не пишет. Иногда сериал мониторинг показывает (b2). подскажите пожалуйста на что обращать внимание?

    1. Его в скетче нет, т.к. это аппаратный компаратор. Заменить его нельзя

  4. Привет!
    Could you send me URLs for elements but in banggood? I’m not sure about elements what I saw but it’s faster ship.
    I wait for your answer.
    Have a nice day!
    Пока

  5. Собрал прибор.
    Копирует, эмулирует. все как положено. но мне хотелось бы создавать свои rfid ключи (или брать из интернета). слегка доработал прошивку прибора и теперь можно вгружать в него ключи формата FF:8F:A0:5:6:1:A5:30:
    при считывании прибор в ком порт выдает это FF:8F:A0:5:6:1:A5:30: ( id 30 key 10551620) Type: EM-Marie
    и у меня возник вопрос можно ли из 10551620 сделать FF:8F:A0:5:6:1:A5:30
    просмотрел очень много сайтов и нашел интересную программу.
    из 0010551620 она делает
    текстовый формат: 161,00324
    шестнадцатиричный формат: A10144
    для контроллеров болид: 7F000000A1014401
    Но никак не могу найти нужную информацию. эти цифры (0010551620) нацарапаны непосредственно на ключе. можете помочь?

    1. Николай, поделитесь пожалуйста скетчем
      В заранее спасибо!
      vlad.misharin2014@yandex.ru
      Приведите пример ввода команды, а то я пытался командой ASCII ‘$01 12 1c fb 09 00 00 3e;’
      У меня ключ не отображается.

  6. Собрал прибор.Бесконтактные ключи считывает,а вот записывать никак не получается -на дисплее пишет The key copy faild.На катушке стабильно 25 вольт.Помогите пожалуста разобраться в чём тут дело,очень бы хотелось иметь такой прибор.С уважением-Дамир.

    1. Я товарищ дерево чтобы что то менять .Тупо все закинул в Arduino IDE скетчи и проверив компиляцию прошил Arduino

  7. Привет, все сделал как на видео. Получилось шикарно. Но есть одна проблема. Когда он входит в третий режим (синий режим), он не может выйти. Для входа в первый режим (чтение) требуется перезагрузка. В ролике тоже пропущен этот момент. Как я могу решить эту проблему. Простите за плохой русский, но я из Болгарии.

    1. Странно.. у меня не зависает в 3-м режиме

  8. почему не происходит считывание с лузы ?
    в какую сторону копать ????
    подскажите !!!!

    1. тут уже ответ по моему писали -поищите

  9. Здравствуйте! Подскажите пожалуйста в чём проблема? RFID ключ читается, при попытке записать на болванку, ничего не происходит. В консоли:
    Mode: 2
    FF:A7:A0:4:B0:51:4A:5E: ( id 78 key 10232120) Type: EM-Marie

  10. Здраствуйте. У меня измерения 2.7 вольт. Вроде все проверил, но что то не получается. Помогите куда смотреть

    1. Или катушка не та или подбирать кондер 4700пФ

  11. Подскажите, а можно ли сюда прикрутить готовую плату RFID-RC522, чтобы не мотать катушку и т.д.?

  12. Уважаемый МЕХАТРОН DIY! Ваш проект посто супер! Пользуюсь уже пол года. Теперь бы простенькую СКУД на ЕМарине создать и был бы полный комплект. Сделайте, пожауйста! Тема очень актуальная…

    1. Добрый день, подскажите в чем может быть причина неисправности. Собрал дубликатор, работал до недавнего времени исправно, в один не прекрасный момент перестали читаться и писаться метки rfid. Думал села крона. Батарейку сменил, но метки так и не читаются. Очень редко получается считать но при попытки записи выдает ошибку. Ключи типа Даллас читаются без проблем. Напряжение в контрольной точке >15в. Странный феномен. Работал же и вдруг перестал

  13. Здравствуйте .
    Подскажите пожалуйста ключ для домофона сс 20 , написано на домофоне Cyfral оригинальный DS2000A Ваш дубликатор , модернизированный . доработанный , сможет прочесть и записать этот прочитанный код на заготовку ТМ-01 или КС-07 ? На видео Вы показали на видео как прочесть код с оригинального ключа Метаком и записали прочитнный код на заготовку ТМ-01. А извините повторюсь для ключа DS2000A от домофона Cyfral можно код прочесть и записать его на заготовку ТМ-01 или КС-07 ?Спасибо за ответ .

  14. Всем доброго времени суток, проблема такая, собрал копировальщик, некоторое время работал без нареканий. , в один прекрасный момент перестали читаться и писаться ключи rfid. Изредка считывает в определенном месте катушки, но на запись ключа выдает ошибку. Катушку прозвонил, целая, пайка тоже в порядке. Странно, что же это может быть

    1. Попробую пересобрать RFID модуль, может в нем проблема

  15. Задал вопрос по поволу чтения и записи ключа от домофона Cyfral СС 20 оригинальный ключ DS2000A на данной разработке автора , но отчего то до сих пор нет ответа от автора сайта , не ужели автору трудно ответить.

    1. собрал сегодня и нихуя не работало, даже заготовку не читало

  16. Объясните, пожалуйста, как работает фрагмент кода проверки вертикальной четности:

    k = 1&buf[1]>>5 + 1&buf[1] + 1&buf[2]>>3 + 1&buf[3]>>6 + 1&buf[3]>>1 + 1&buf[4]>>4 + 1&buf[5]>>7 + 1&buf[5]>>2 + 1&buf[6]>>5 + 1&buf[6] + 1&buf[7]>>3;
    if (k&1) return false;

    Если предполагается, что из буфера выбираются необходимые биты, суммируются и сумма проверяется на четность, то в коде ошибка. Если учесть приоритет операций, то оператор суммирования имеет наибольший приоритет по сравнению с операторами сдвига и битовыми операторами. Получается, что при выделении 1-го бита буфер сдвинется не на 5ьф, а на 6 (=5 + 1) битов. А операция «&» (битовое «и») будет выполнена в последнюю очередь.
    Для того, чтобы алгоритм заработал так, как я предположил вначале, необходимо операнды суммирования заключить в круглые скобки.
    Или я что-то не понимаю и алгоритм работает по-иному?

    1. Еще раз посмотрел таблицу приоритетов операций С++. Похоже, вы правы. Но в результате код работает правильно. В ардуино используется не чистый С, а wiring. Может в этом дело… На всякий случай можно расставить скобки

  17. На плате присутствуют контакты J1 и P3.
    Для чего они? Насколько я вижу, они не были использованы.

    1. adcsrb was not declared in this что это значит?ошибка в скетче или я что то не правильно делаю?

  18. Как скачать библиотеки? Какой то ресурс НЕРУССКИЙ! Бредятина! Нахрен это нужно? Вы же русский человек!

    1. А где вы видели чтобы программы для микроконтроллеров писались на русском языке ? И для перевода на русский ресурса в браузере существует переводчик страниц

  19. Отличный проект, все в тему. Соберу себе такой-же.
    Прошу подкорректировать рисунки схем на отсутствие выключателя электропитания. В комплектующих есть, на схеме нет… Мне кажется нужно чтобы все соответствовало.

  20. Поделюсь своей болью. Доработал сей девайс до последней версии с дисплеем и энкодером. И тут начались танцы с бубном. То читает ключи то нет, весь мозг сломал. Перебрал схемку детектора, перемотал катушку, а он как глючил так и глючит. Причём предыдущая версия работала как часы! За это огромное спасибо автору! И вот спустя 4 часа мучений замечаю на картинке маленькую чёрную закарючку выходящую из пина D6 ардуины. Припаял эту злосчастную массу и олле опп всё заработало как часы.

  21. МЕХАТРОН DIY, а есть функция удаления лишних ключей? Если нет, то нельзя ли сделать?

    1. Качайте скечь автора, я им пользуюсь. Отлично всё работает. Скечи других проектов тоже отлично работают, лично проверял. Вообще всё что он выкладывает проверено им самим и уже многими людьми. Если что то не работает, ищите косяки в сборке, пайке, наличии или отсутствии правильных библиотек. Если так и не заработало значит у вас руки кривые и это не ваше! Без обид! 🙂

  22. Всем привет. Подскажите, что не так с Rfid. Катушка от RDM6300(приблизительная индуктивность 420 мкГн). Подогнал резонанс кондером. Сначало 3,9 нф(на катушке 12 вольт), затем 3,6 нф(17 в), сейчас 3,3 нф(27 вольт). Но при всем при этом не читает 125 кгц. Светодиод начинаем моргать по другому, но считывание не идет. В момент когда карта под считывателем напряжение падает до 13 вольт. Пробовал 3 разных ключа, ни один не прочитался. Объясните, где я рукожоп и может ли быть из-за того что использую в обвязке СМД компоненты

    1. смд не при чем. Как именно ключи были?

    2. Один для вызывной панели fermax, второй либо Vizit, либо Cyfral, третий не знаю.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Наверх