Дубликатор домофонного ключа на базе Arduino и считывателя iButton собирается из пяти недорогих компонентов и позволяет копировать ключи форматов Dallas DS1990A, TM1990 и Cyfral без покупки готового устройства. Типичная ошибка при самостоятельной сборке — попытка записать код на обычный ключ-«таблетку», которая физически не поддерживает перезапись: для копирования нужны специальные заготовки RW1990 или TM08.

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

Как устроен домофонный ключ и что именно копируется

Большинство домофонных ключей в России используют протокол 1-Wire: внутри «таблетки» находится микросхема с уникальным 48-битным серийным номером, зашитым на заводе. При касании контактора домофон подаёт питание через те же два контакта и считывает код, после чего сравнивает его с базой в памяти контроллера.

Дубликатор выполняет две операции: чтение кода с оригинального ключа и запись этого же кода на перезаписываемую заготовку. Заготовки RW1990 и TM08 имитируют поведение оригинальной микросхемы, но позволяют менять серийный номер. Обычный заводской ключ DS1990A перезаписать нельзя — его ПЗУ доступно только для чтения.

Отдельно стоят ключи формата Cyfral и Metakom: они используют собственные протоколы передачи, отличные от 1-Wire. Универсальные заготовки умеют эмулировать несколько форматов, но самодельный дубликатор должен поддерживать соответствующий протокол на уровне прошивки.

💡

Дубликатор копирует только серийный код ключа. Записать код можно только на перезаписываемую заготовку (RW1990, TM08) — обычный заводской ключ перезаписи не подлежит.

Какие компоненты потребуются

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

  • 🔧 Плата Arduino Nano или Uno — «мозг» устройства;
  • 🔑 Контактор для ключей iButton (считыватель с двумя контактами);
  • 📟 Дисплей OLED 0,96" SSD1306 по шине I2C — для отображения кода и режима;
  • 🔘 Две-три тактовые кнопки — выбор режима «чтение/запись»;
  • 🔋 Резисторы, провода, макетная или печатная плата, корпус;
  • 💾 Заготовки RW1990 или TM08 для записи копий.

Вместо Arduino можно использовать ESP32 — тогда появится возможность хранить базу кодов в памяти и передавать их по Bluetooth. Но для первой сборки проще остановиться на классической Nano: под неё больше готовых проектов с открытым кодом.

📊 Какой формат ключей вам нужно копировать чаще всего?
Dallas / iButton (таблетки)
Cyfral
Metakom
Несколько форматов сразу

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

Логика схемы проста: контактор ключа подключается к цифровому пину Arduino через подтягивающий резистор, дисплей — к шине I2C, кнопки — к свободным цифровым входам. Питание подаётся по USB или от отдельного аккумулятора через стабилизатор.

КомпонентВывод компонентаПин Arduino Nano
Контактор iButtonЛиния данныхD2 (через подтяжку ~4,7 кОм к 5V)
Контактор iButtonЗемляGND
OLED SSD1306SDA / SCLA4 / A5
Кнопка «чтение»Один контактD3, второй — на GND
Кнопка «запись»Один контактD4, второй — на GND

Номинал подтягивающего резистора влияет на стабильность чтения: слишком большое сопротивление даёт сбои на длинных проводах, слишком маленькое — лишний ток. Значение порядка 4,7 кОм — стандартная практика для шины 1-Wire, но при проблемах со считыванием стоит свериться с документацией конкретного проекта, который вы используете.

⚠️ Внимание: не подключайте контактор напрямую к пинам питания без резистора. Короткое замыкание линии данных на землю при активном выходе может вывести пин микроконтроллера из строя.

Прошивка и программная часть

Готовых открытых проектов дубликаторов на Arduino несколько — их легко найти на GitHub и профильных форумах по запросу «arduino ibutton duplicator». Код типичного проекта реализует три функции: чтение ROM-кода по протоколу 1-Wire, отображение его на экране и запись на заготовку специальной командой, которую понимают RW1990.

Порядок действий при прошивке:

  • 💻 Установите Arduino IDE и драйверы для вашей платы;
  • 📚 Добавьте библиотеки OneWire и библиотеку дисплея (например, Adafruit_SSD1306);
  • 📥 Загрузите скетч проекта и проверьте, что назначенные в коде пины совпадают с вашей схемой;
  • ⚡ Подключите плату по USB и прошейте через меню Скетч → Загрузить.

Если компиляция завершается ошибкой, чаще всего причина в отсутствующей библиотеке или несовпадении её версии. Текст ошибки в консоли IDE обычно прямо указывает, какого файла не хватает.

Почему RW1990 записывается нестандартной командой

Оригинальный DS1990A не имеет команды записи. Заготовки RW1990 реагируют на специальную последовательность импульсов, которая переводит их в режим программирования. Именно поэтому для записи нужна отдельная процедура в прошивке — обычная команда чтения 1-Wire код не изменит.

Пошаговая инструкция по сборке и проверке

Соберите схему сначала на макетной плате — так проще найти ошибку в монтаже, чем после пайки. Только когда чтение и запись стабильно работают, переносите всё на печатную плату и в корпус.

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

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

💡

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

Типичные проблемы и их причины

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

Разберём основные сценарии:

  • ❌ Код не читается вовсе — проверьте контакт в считывателе, подтяжку линии данных и исправность самого ключа на другом домофоне;
  • 🔄 Код читается, но каждый раз разный — вероятна наводка или плохой контакт; укоротите провода до контактора;
  • 🚫 Копия не открывает домофон — убедитесь, что заготовка поддерживает формат оригинала (Cyfral и Dallas несовместимы между собой);
  • ⚡ Запись не проходит — возможно, заготовка бракованная или уже залочена; попробуйте другую.
⚠️ Внимание: копирование ключей от чужих домов, подъездов и охраняемых объектов без согласия владельца может иметь юридические последствия. Используйте дубликатор только для копирования собственных ключей — например, запасного ключа от своего подъезда для членов семьи.

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

💡

Неработающая копия почти всегда означает несовместимость формата заготовки с домофоном или ошибку чтения, а не неисправность самодельного дубликатора. Проверяйте по цепочке: чтение → запись → обратное чтение → тест на домофоне.

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

Можно ли скопировать любой домофонный ключ?

Нет. Ключи форматов Dallas (iButton), Cyfral и Metakom копируются при наличии подходящей заготовки. RFID-метки 125 кГц (EM-Marin) требуют другого считывателя и заготовок типа T5577. Защищённые ключи с криптографией скопировать бытовым дубликатором нельзя.

Почему обычный ключ нельзя перезаписать?

В оригинальных микросхемах DS1990A серийный номер прошивается в ПЗУ на заводе и аппаратно доступен только для чтения. Перезаписываемые заготовки RW1990 и TM08 созданы специально для копирования и принимают команду записи.

Сколько копий можно сделать с одного ключа?

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

Нужен ли компьютер после первой прошивки?

Нет. После загрузки скетча устройство работает автономно — достаточно питания от USB-повербанка или батареи. Компьютер нужен только для прошивки и отладки.

Что делать, если домофон не принимает копию?

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