Собранный на Arduino дубликатор домофонного ключа не читает заготовку — чаще всего причина в том, что ключ относится к другому типу: устройство собрано под RFID 125 кГц, а в руках у вас iButton (таблетка Dallas), и наоборот. Это два принципиально разных протокола, и универсальный копировальщик требует двух независимых модулей считывания.

В этой статье разберём, какие типы ключей реально копируются на Arduino, какие компоненты понадобятся, как организовать схему и прошивку, а также где проходят технические и юридические границы такого проекта. Материал ориентирован на образовательное применение: изучение протоколов, резервное копирование собственных ключей и диагностику систем доступа.

Какие ключи можно копировать на Arduino

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

  • 🔑 RFID 125 кГц (EM-Marin и аналоги) — бесконтактные карты и брелоки, считываются модулем типа RDM6300 или EM-18. Копируются на перезаписываемые заготовки T5577.
  • 🔑 iButton / 1-Wire (DS1990A и совместимые «таблетки») — контактные ключи, читаются двумя проводами. Копируются на болванки RW1990 и подобные.
  • 🔑 Mifare 13,56 МГц — считываются модулем RC522, но копирование ограничено: UID классических карт часто защищён, а криптозащита Mifare требует отдельного изучения.
  • 🔑 Кодграбберы для шлагбаумов — отдельная тема с динамическими кодами; простое копирование там, как правило, невозможно из-за rolling code.

Для начинающего проекта разумнее всего выбрать один формат — либо RFID 125 кГц, либо iButton. Совмещение обоих в одном корпусе возможно, но усложняет схему питания и логику прошивки.

⚠️ Внимание: копирование ключей доступа к чужим помещениям без согласия владельца системы может нарушать закон. Используйте дубликатор только для собственных ключей, учебных целей и систем, к которым у вас есть законный доступ.

Необходимые компоненты

Набор деталей зависит от выбранного формата. Ниже — базовый список для варианта с RFID 125 кГц, как наиболее распространённого.

  • 🛠️ Плата Arduino Nano или Uno — подойдёт любая, Nano удобнее для компактного корпуса.
  • 🛠️ Считыватель RDM6300 с антенной (для 125 кГц) либо контактная площадка для iButton.
  • 🛠️ Дисплей OLED 0,96" I2C (SSD1306) или символьный LCD 1602 — для отображения считанного кода.
  • 🛠️ Кнопки управления (2–3 штуки), резисторы, соединительные провода.
  • 🛠️ Перезаписываемые заготовки: T5577 для RFID, RW1990 для iButton.

Питание — от USB, powerbank или батареи через стабилизированный вход. Для автономной работы учитывайте, что модуль RDM6300 требует стабильных 5 В; просадки питания — частая причина нестабильного чтения.

КомпонентНазначениеПримечание
Arduino NanoУправляющий контроллерКомпактная, удобна для корпуса
RDM6300 + антеннаЧтение RFID 125 кГцПередаёт код по UART
OLED SSD1306Отображение кода ключаПодключается по I2C
Заготовка T5577Запись копииЭмулирует EM-Marin
Контакты для iButtonЧтение/запись таблетокДва провода: данные и земля
📊 Какой тип ключей вы планируете копировать?
RFID 125 кГц (брелоки, карты)
iButton (таблетки)
Mifare 13,56 МГц
Хочу универсальное устройство

Схема подключения RFID-модуля

Модуль RDM6300 общается с Arduino по последовательному порту. Линию TX модуля подключают к пину RX Arduino (или к программному Serial через библиотеку SoftwareSerial, чтобы аппаратный порт остался свободным для отладки). Антенна модуля подключается к отдельному разъёму на плате считывателя — она идёт в комплекте.

Дисплей SSD1306 подключается по шине I2C: SDA → A4, SCL → A5 для Nano/Uno. Кнопки «чтение» и «запись» вешаются на цифровые пины с подтяжкой к земле. Проверьте распиновку конкретно вашей платы в документации — у клонов она иногда отличается.

RDM6300 TX  → D2 (SoftwareSerial RX)

SSD1306 SDA → A4

SSD1306 SCL → A5

Кнопка READ → D3

Кнопка WRITE → D4

GND общий для всех модулей

💡

Перед сборкой на корпус проверьте всю схему на макетной плате: так проще найти непропай или перепутанный пин, чем после упаковки устройства в коробку.

Прошивка: логика чтения и записи

Программа строится вокруг трёх состояний: ожидание, чтение кода в буфер, запись буфера на заготовку. Для RDM6300 существуют готовые библиотеки, парсящие UART-поток и выдающие код карты в удобном виде. Для записи на T5577 потребуется отдельная схема с катушкой и транзисторным каскадом, формирующим модуляцию записи — это самая сложная часть проекта.

Упрощённый каркас скетча выглядит так:

#include <SoftwareSerial.h>

SoftwareSerial rfid(2, 3); // RX, TX

void loop() {

if (digitalRead(3) == LOW) readKey(); // чтение

if (digitalRead(4) == LOW) writeKey(); // запись

}

Важный нюанс: запись на T5577 — не «отправка данных по проводу», а формирование радиосигнала с точными таймингами. Если самостоятельная реализация записи кажется сложной, используйте готовые открытые проекты как основу и адаптируйте их под свою схему, сверяясь с даташитом на T5577.

☑️ Проверка перед первым запуском

Выполнено: 0 / 5

Дубликатор iButton: особенности

С «таблетками» всё проще схемотехнически: протокол 1-Wire требует всего двух линий — данных и земли. Для чтения DS1990A достаточно библиотеки OneWire: прикладываете ключ к контактам, Arduino получает 64-битный ROM-код и выводит его на дисплей.

Запись на болванку RW1990 выполняется теми же контактами, но с подачей специальных команд записи. Учтите: существует несколько поколений болванок (RW1990, RW1990.2, TM08 и другие), и алгоритм записи у них различается. Если запись не проходит — возможная причина в несоответствии команды конкретной ревизии заготовки; сверяйтесь с документацией на вашу болванку.

⚠️ Внимание: некоторые домофоны проверяют не только код ключа, но и дополнительные признаки (например, контроль записи или фильтрацию «болваночных» серий). Скопированный ключ может не сработать в такой системе — это ограничение домофона, а не ошибка сборки.
Почему копия читается, но домофон её не принимает

Возможные причины: домофон фильтрует коды записываемых болванок, используется ключ с дополнительной защитой (например, TM2004 с памятью), либо система работает на другой частоте. Проверьте оригинальный ключ на нескольких считывателях и уточните модель домофона.

Типичные ошибки при сборке

Первая частая проблема — путаница с пинами UART: TX модуля должен идти на RX приёмника. Вторая — дребезг кнопок без программной или аппаратной защиты, из-за чего одно нажатие воспринимается как несколько. Третья — попытка читать Mifare-карту модулем на 125 кГц: частоты несовместимы, и никакая прошивка это не исправит.

Ещё один источник ошибок — неперезаписываемые заготовки: часть дешёвых «болванок» с маркетплейсов оказывается одноразовыми или вовсе обычными картами EM4100, которые физически не принимают запись. Проверяйте заготовку известно рабочим записывающим устройством, прежде чем искать ошибку в схеме.

💡

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

Ограничения и правовые аспекты

Arduino-дубликатор — учебный инструмент, и у него есть принципиальные ограничения. Он не копирует ключи с динамическим кодом, защищённые банковские карты и большинство современных систем с криптоаутентификацией. Mifare Classic со включённой защитой секторов потребует отдельных методов и не всегда копируется в принципе.

С юридической стороны: изготовление дубликата собственного ключа или ключа с согласия владельца системы, как правило, не вызывает вопросов. Копирование ключей доступа к чужим объектам без разрешения может квалифицироваться как неправомерный доступ. Ответственность за применение устройства несёт его владелец.

Часто задаваемые вопросы

Можно ли скопировать ключ от домофона, не зная его типа?

Сначала определите тип визуально: «таблетка» в металлическом ободке — это iButton, плоская карта или брелок без контактов — чаще RFID 125 кГц или Mifare. Проверить можно считывателем: RDM6300 отреагирует только на 125 кГц, RC522 — только на 13,56 МГц.

Почему записанная заготовка T5577 не читается домофоном?

Возможные причины: ошибка в таймингах записи, заготовка не эмулирует нужный формат (EM-Marin), либо домофон фильтрует перезаписываемые карты. Проверьте заготовку на самом дубликаторе — если она читается с правильным кодом, проблема на стороне домофона.

Какая Arduino лучше подходит для портативного дубликатора?

Оптимальна Arduino Nano или Pro Mini — они компактны и достаточно производительны для обоих протоколов. Pro Mini требует внешнего USB-UART адаптера для прошивки, что нужно учитывать заранее.

Можно ли объединить RFID и iButton в одном устройстве?

Да, оба модуля подключаются к одной Arduino одновременно: RDM6300 по SoftwareSerial, iButton — по 1-Wire на отдельном пине. В прошивке добавляется выбор режима кнопкой или автоматическое определение типа приложенного ключа.

Законно ли собирать такое устройство?

Сама сборка и изучение протоколов законны. Правовые риски возникают только при копировании ключей к чужим системам доступа без согласия их владельца. Используйте устройство для своих ключей и в образовательных целях.