Крутой дубликатор домофонных ключей на 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В.

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

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

  1. Вчера столкнулся с одной ситуацией. Товарищ живёт в новом доме, домофон визит. Пробую считать ключ — в упор не видит. Это значит 13.56 МГц или визитовцы как то защищают свои ключи на 125 кГц частоте?

    1. Да это частота 13 МГц. и если ключ бурого красного цвета, это Ultraligt.
      125кГц читать будет все, но если домофон защищен, то при поднесении копии он просто не сработает, а так 125 кГц считает обязательно если ключ рабочий конечно.

  2. МЕХАТРОН DIY Прошерстил много сайтов по копированию и эмуляции контактных ключей ,запутался основательно и вот вопрос вам .Можно ли установить контактор на ваше изделие для эмуляции ключа в режиме записи на болванку ,для открытия замка дверей т.е. выбрал ключ перевел изделие в режим записи на болванку , вставил контактор в лузу замка -замок открылся или я туплю .

    1. Можно просто сделать режим эмуляции. Протокол записи — это отдельная тема

  3. Здравствуйте! Хочу сказать Вам спасибо за Ваши проекты это во первых!
    Во вторых, скажите пожалуйста, я собрал Ваш дубликатор еще с первой версии, сейчас хочу сделать 3 версию с экраном и поддержкой цифралов. У меня несколько вопросов, скажите
    1) Прибор не читает ключи rw15 с записанным кодом, то есть оригинальный цифрал читает, а вот такие болванки копии нет.
    2) Записать цифрал можно на болванку тм-01а и прибор умеет их финализировать у Вас сказано.
    То есть прибор автоматически их финализирует или это нужно выставлять? И после финализации ключ записать не получится повторно или можно обнулять финализацию как на проф.дубликаторах ?
    3) Что значит (В заказе будет особая авторская прошивка.) Только она умеет записывать цифрал или что? И можно у Вас купить прошивку отдельно? Я оставил свой email в форме, надеюсь он Вам виден, просто не хочу оставлять его в открытом тексте, а то от Вашего имени могут писать другие с предложением продать то чего у них нет. Вообщем еще раз спасибо и пожалуйста ответьте мне по Email.

    1. Дополню. Из 4 метакомов, прочел только один ключ как unknov записал на болванку rw1990 все работает. Только остальные 3 ключа не прочел совсем. Что может быть или это отличие авторской прошивки? За ранее спасибо!

    2. Оч странно, что вы метаком пишите на rw1990. У меня всего два оригинальных ключа метакомовских. Оба читаются. Также читаются ТМ-01а, финализированные под метаком. Авторская прошивка немного отличается оформлением и музыкальным сопровождением.

    3. Еще добавлю, собирал без rfid модуля и бузера, они мне не особо нужны, питание литий через DC-DC преобразователь. Это как то может повлиять, что не читает Метаком?

    4. 1. Не проверял
      2. Умеет автоматом. Снятие финализации в этом скетче отсутствует
      3. Авторская немного отличается оформлением и музыкальным сопровождением

    5. Может там был ключ с записью в формате далас… Просто все ключи и сам домофон были метаком, 3 из 4 ключей не прочитались, а 4 прочелся как unknow вот с таким кодом 1:0:3:C0:C8:0:0:3C: записал его на rw1990 и все ок, домофон открыт.
      Ключи на вид все одинаковые, такие как стандартный метаком. В какую сторону мне копать если метаком не читает получается? Питание подаю напрямую на USB ардуино, 5V через DC-DC преобразователь 1 Ампер в нагрузке держит, так что думаю этого с головой хватит. Может сделать питание в 9V и подключить к ногам GND VIN как на схеме от кроны. Может быть в этом дело или нет? Спасибо за ответы! И еще буквально вчера, так же не прочелся метаком уже другого дома, там ключ с надписью Метаком прямо на ручке.

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

  4. Здравствуйте, а есть вариант прошивки под LCD 1602?
    Вроде все собрал правильно.но он и не писает и не мигает ргб..
    И если не сложно подскажите по некоторым вопросам.
    hiba.zp.ua@gmail.com

  5. МЕХАТРОН DIY, пожалуйста подскажите, для чего служит пин D6 ардуино, на землю?
    Я его не делал, из-за этого может не читать метаком?
    И скажите на тестовом пине радиомодуля, у мене вместо 15в около 13в но при этом читает беспроводные ключи, это в пределах нормы или нужно, что-то исправить?
    И на всех дубликаторах, ключ имеет код типа такого 56:5A:95:0B:AF у Вас совсем формат другой, в терминале порта можно увидеть в кавычках вот такой код 1519717295 и его уже можно перевести как раз в 56:5A:95:0B:AF для чего так сделано или вот такой код как привыкли большинство людей 56:5A:95:0B:AF трудно реализовать? За ранее спасибо за ответы!

    1. 1. D6 — это один из входов компаратора. Используется для работы с RFID ключами. Ранее он же использовался и для контактных ключей. В 3-й версии контактные ключи я перевел на АЦП.
      2. Если RFID читается, значит всё норм.
      3. Я не использую чей-либо программный код, поэтому совместимость отображения информации с другими дубликаторами не гарантирую. Например, я могу использовать обратный порядок бит при чтении, или инвертирование бит, но и принимаю и предаю данные по «одинаковым» правилам, поэтому результат получается такой же.

  6. Здравствуйте! Подскажите пожалуйста, а можно пользоваться устройством без энкодера, через терминал?
    Как написать команду влево или вправо энкодер или зажатие его для сохранения? Стирать ключи просто E, изменять режим, чтение / запись / эмуляция работает по команде.

  7. МЕХАТРОН DIY, я попробовал записать Cyfral-овский ключ в RW1990. Запись прошла, но при чтении определяется как Unknown type. Домофон на ключ не реагирует. А теперь вопрос: сможет ли данный дубликатор записать RW2017? Мне досталось два ключа от домофона: один родной, другой RW2017(он точно работает).

  8. А есть ли какой-то мануал по данному прибору? В обсуждении было упоминание про 902 строку, а сейчас ничего не могу найти. Так же интересует наличие команд через терминал. Можно ли записать произвольный код через терминал? Попробовал набрать в терминале help и получил очистку eeprom.

    1. Вот дядя, секи!

      1) При выключенном питании от батарейки подключаем к USB.

      2) Подключаемся к COM порту с нужным номером (115200 бод).

      3) Для того чтоб очистить EEPROM от всех ключей отправляем символ ASCII ‘e’ (0x65 в хексе).

      4) Для переключения режима чтение/запись/блюмод отправляем символ ASCII ‘t’ (0x74 в хексе). Эквивалентно короткому нажатию кнопки энкодера.

      5) Для сохранения выбранного ключа в EEPROM отправляем символ ASCII ‘y’ (0x79 в хекс). Эквивалентно длинному нажатию на кнопку энкодера.

      6) Для того чтоб вывести все ключи в терминал отправляем символ ASCII ‘a’ (0x61 в хексе).

      7) Для ввода ключа 3E 00 00 09 FB 1C 12 01 нужно отправить в терминал ASCII строку вида ‘$01 12 1c fb 09 00 00 3e;’
      Символ ‘$'(0x24) — признак начала передачи ключа.
      Символ ‘;'(0x3b) — признак окончания передачи ключа.
      Символ ‘ ‘пробел(0x20) — разделитель байт передаваемого ключа.
      Байты следуют в порядке от кода семейства устройства 1-wire(для DS1990A код 01), заканчиваются контрольной суммой(в данном примере 3e).
      После передачи принятый уникальный номер отобразится на LCD дисплее. Если необходимо его можно сохранить в EEPROM(пункт 5).

    2. В терминале работает только
      E — очистить память и T — выбор режима
      Но команды Y и A тем более ввод ключа не работают. Было бы отлично если через терминал можно было посылать команды которые делает энкодер. Мне вообще было бы удобно 2 кнопки вместо энкодера, выбор режима кнопка и кнопка листания влево или вправо без разницы. А насчет ввода ключа, автор даже сам писал, что нужно в какой то из строк прописать ключ, если бы можно это сделать через терминал, то я думаю он так и сказал бы.

  9. В прошивке прокручиваете в самый конец, перед вкладкой «ЗВУКИ»
    это кусок кода, у меня закоментирована строка под номером — 1028

    // keyID[0] = 0xFF; keyID[1] = 0x8F; keyID[2] = 0xC0; keyID[3] = 0x01; keyID[4] = 0x87; keyID[5] = 0x75; keyID[6] = 0x17; keyID[7] = 0xDE; // разкоментируя эту строку мы заменяем прилаживаемый ключ на прописанный
    Создайте отдельную прошивку, где разкоментируете эту строку и будете добавлять свои ключи
    Очередность действий такая:
    В строке где «keyID» прописываете свой код ключа, сохраняете, прошиваете в дубликатор, подносите ключ для прочтения и дубликатор подменяет его на тот который вы прописали и так со всеми нужными вам ключами!
    Удачи!

  10. Собрал копировщик. Контактные ключики получается копировать. А вот с бесконтактными проблема — прибор на них не реагирует. Катушка взята по ссылкам автора на 440 мкГн.
    С конденсатором 4.7 нФ в контрольной точке было чуть более 10 вольт. Поставил вместо него 3.3 нФ (прикинул по формуле резонанса для контура) — напряжение поднялось до 19 вольт. Но всё равно приборчик не видит бесконтактные ключики…
    Подскажите, пожалуйста, что ещё нужно сделать..

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

  12. Подскажите пожалуйста собрал все по схеме но у меня почему то контактные ключи пишутся только рв1990 или тм 08 а вот рв2004 читаем но не пишет. В чем может быть касяк ? Может поиграться с резистором ?

  13. У меня тоже не хочет читать rfid ключи собрал все по схеме перепаявал дважды, все проверял, рамка китайская покупная. В чем косяк?

    1. У меня конденсаторы покупные из 10шт 4 шт ушли в мусорку погрешность большая и не работали некоторые. Взял наши советские побольше по габаритами и все нормально заработало только катушку немного поднастроил. И ещё не забывайте что болванка не имеет своего кода пока ее не прошьёшь я так три катушки намотал пока дошло взять проверенный ключ

  14. Если будете мотать на спичечный короб — это 59 витков.ДИАМЕТР ПРОВОДА КАКОЙ ??

    1. Если вопрос мне у меня катушка покупная как у автора

  15. Ребят ну подскажите в чем касяк! Прибор не пишет на rw 2004 a rw 2007 вообще не видит. Второй раз сюда пишу надеюсь модератор пропустит мое сообщение)))

  16. L
    345
    Требуемая индуктивность
    D
    50
    Диаметр каркаса
    l
    3
    Длина намотки
    d
    0.34
    мм Диаметр провода по меди
    k
    0.35
    мм Диаметр провода по изоляции

    ω
    59
    Число витков
    N
    8
    Число слоев
    с
    2.8
    мм Толщина катушки
    Lw
    9.75
    м *Длина провода
    Ω
    1.88
    Ом **Сопротивление катушки
    Как то так самодельно

  17. Получилось с первого раза. Даже не ожидал. С коробком спичек не стал заморачиваться и отмотал проволоку со сгоревшего трансформатора с колонок. Получилось 13В. Ключ не читался, а проволоку я уже обрезал. Припаял остатки и домотал несколько витков пока не получилось 15В. Все прекрасно заработало даже с таким колхозом.

    Вопрос. У меня высветилось в терминале что ключ T5557. Для записи подойдут любые болванки на 125кГц или нужно покупать именно T5557?

  18. Блин, заказал не те диоды, с общим анодом. В скейчах не силен. Можно переделать скейч под них или надо обязательно с общим катодом?

  19. При включении изделие автоматом переходило в режим блюрей ,долго плясал с бубном ,решил проблему заменой кондера 4 700 пФ на 2 200 пФ .катушку намотал самодельную на оправке 50 мм .индуктивность подогнал самодельным прибором LC Осталось подключить считыватель контактных «таблеток» и проверить как они будут читаться

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

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

Наверх