Дубликатор домофонных ключей на arduino: создание и тестирование
Устали от блокировки, когда вы теряете или забываете свои ключи? Сегодня мы создадим дверной замок RFID Arduino посредством копирования домофонного ключа. Мы узнаем о радиочастотной идентификации RFID и используем беспроводную связь. С помощью микроконтроллера Arduino можно копировать домофонный ключ, если случайно его потерял. Давайте посмотрим, как это делается.
Предназначение дубликатора домофонных ключей
RFID – радиочастотная идентификация. Устройство выполняет ту же функцию, что и штрих-код или магнитная полоска на задней стороне кредитной карты. Он предоставляет уникальный идентификатор для этого объекта. И так же, как штрих-код или магнитная полоса, RFID должен быть отсканирован для получения информации.
RFID используется в этом проекте для чтения данных из RFID-меток и отправки информации в энергонезависимую память MCU.
Идентификатор, считываемый из тегов, сравнивается с хранимой информацией, и если он совпадает, то дверь открывается.
Принцип работы дубликатора на Ардуино
Каждый ключ имеет внутреннюю связь с домофонной дверью – этот номер и служит ключевым идентификатором. Этот номер интерком-ключа решает, нужный ли вы приложили ключ. Поэтому принцип работы дубликатора домофонных ключей на Arduino довольно прост: сначала нужно проверить «разрешенный» ключ, а затем присвоить тот же номер другому ключевому клону.
Проверяя номер из своей базы данных разрешенных скоростей передачи данных, он откроет дверь. Ключи для внутренней связи, которые мы будем подключать к Arduino дубликатору (иногда называемому iButton или Touch Memory), считываются и записываются в 1-проводной интерфейс. Поэтому схема подключения очень проста.
Необходимые материалы
Для конструирования проекта “Arduino дубликатор домофонных ключей” понадобятся следующие материалы:
- Дубликатор домофонных ключей строится на микропроцессоре Arduino Nano.
- RFID RC522.
- Пьезо-зуммер.
- 2x LED-монитора.
- 2x 330 резистор.
- Клавиатура 4 × 4.
- Адаптер I2C для ЖК-дисплея.
- LCD16X2BL.
Создание дубликатора своими руками
ЖК-дисплей имеет 16 контактов, что слишком много для Arduino Nano домофона, поэтому важно иметь адаптер I2C. Это позволяет управлять дисплеем только из двух сигнальных штырей на Ардуино. Это полезно из-за небольшого числа контактов, которые нужно будет контролировать из MCU.
ЖК-контактыЖК-дисплеи имеют параллельный интерфейс, а это означает, что MCU должен одновременно управлять несколькими контактами интерфейса для управления дисплеем. В приведенной ниже таблице дается описание каждого из контактов на английском языке:
Спецификация контактовДля начала сделаем связи между ЖК-дисплеем и I2C. Для этого нужен адаптер ЖК-дисплея I2C (LCD1602). Адаптер преобразует ЖК-дисплей формата 16 x 2 в серийный ЖК-дисплей I2C, которым можно управлять через Arduino всего посредством 2-х проводов.
Аппаратная часть
Для набора кода понадобится библиотека LiquidCrystal_I2C.h в Arduino IDE. Библиотека позволяет подключить ЖК-дисплей к Ардуино. Встроенная библиотека LiquidCrystal_I2C позволяет легко отображать символы на ЖК-дисплее.
Вы можете скачать LiquidCrystal_I2C.h с нашего сайта отсюда, или с ГитХаба — https://github.com/todeilatiberia/SmartDoor.
Следуйте приведенным ниже инструкциям, чтобы установить новую библиотеку в свою среду разработки Arduino.
- Сначала загрузите файлы из Github.
- Извлеките из архивов каждую папку.
- Скопируйте ZIP-файлы в папку Ардуино.
- Откройте Ардуино и добавьте Keypad.zip:: Меню эскиза> Включить библиотеку> Добавить. ZIP-библиотеку.
- Добавить библиотеку клавиатуры: меню «Эскиз»> «Включить библиотеку»> «Клавиатура».
Программная часть
Мы подключим клавиатуру для отображения номеров на ЖК-дисплее для Arduino и скопируем ключ, который вводим с клавиатуры.
Keypad.h – это библиотека, которая позволяет Arduino читать клавиатуру с матричным типом.
В этом проекте используется клавиатура 4 × 4.
В таблице показано соединение между платой Arduino и клавиатурой. Штыри клавиатуры подключены к цифровым выходным выводам Arduino. Pin D6 использовался для зуммера, потому что это был штырь ШИМ.
Вывод клавиатуры | Контакт Arduino |
---|---|
1 | D2 |
2 | D3 |
3 | D4 |
4 | D5 |
5 | A0 |
6 | D7 |
7 | D8 |
Затем добавим RFID. В этом случае плата RFID использует протокол связи SPI, где Arduino будет действовать, как ведущий и считыватель RFID в качестве подчиненного. Считыватель карт и теги предназначены для связи с частотой, равной 13,56 МГц.
Это важный шаг, поскольку он помогает нам считывать данные с карты, и он будет решать, соответствует ли идентификатор информации, хранящейся в EEPROM. Если он соответствует, он даст нам доступ и отобразит «Unlocked». В противном случае на ЖК-дисплее отобразится «Заблокировано».
Соединение между Arduino, LCD и RFIDДомофон на Ардуино, LCD и RFIDСледующий шаг – добавить зуммер и 2 светодиода для имитации системы контролируемого доступа. Ознакомьтесь с приведенной ниже диаграммой. Зуммер установлен так, что он гудит всякий раз, когда мы получаем доступ (разблокирован). Красный светодиод всегда горит, когда он заблокирован, но зеленый светодиод загорается, когда он разблокирован.
Чтобы защитить модули, нужно использовать 3D-печать корпуса. Если у вас нет 3D-принтера, вы можете просто использовать пластиковый корпус, который позволяет вам вставлять все компоненты внутрь. Это очень полезно, потому что модули будут размещены внутри, а единственными частями вне коробки будут светодиоды, клавиатура и ЖК-дисплей.
Код для загрузки на микропроцессор доступен по ссылке: www.deviceplus.com/how-tos/arduino-guide/make-your-own-arduino-rfid-door-lock/.
Тестирование и настройка готового дубликатора
Для описанного выше проекта понадобится специальный корпус, чтобы аккуратно разместить все компоненты и сохранить их без ущерба.
Можно разработать корпус с использованием программы SketchUp, которая имеет удобный интерфейс с простыми кнопками, такими как Eraser, Lines и Tape Measure Tool.
Размеры коробки составляют: 120 х 125 х 37 мм.
Если вы не знакомы с Sketchup, вам нужно ознакомиться со следующими учебниками SketchUp: http://www.sketchup.com/learn/videos/58.
Коробка для корпуса устройства (вид сверху)Коробка для корпуса устройства (вид снизу)Перед разработкой корпуса для проекта необходимо учитывать следующие аспекты:
- Вид сверху:
- 2 отверстия для светодиодов (5,2 мм).
- 1 для ЖК-дисплея (42,2 × 7,3 мм).
- 1 отверстие для кабеля (16 × 10,5 мм).
- Вид снизу:
- 1 открытие для клавиатуры (27 × 10 мм).
После этого можно соотнести размеры и построить пластиковый корпус. Причем можно менять дизайн по своему усмотрению.
Полный корпус с модулями, расположенными внутриКак пользоваться устройством
Откройте последовательный монитор. Нажмите клавиши. Вы должны заметить, что последовательный монитор сообщает, какой именно ключ пользователь нажал. Тем не менее, может потребоваться небольшая практика нажатия кнопок.
arduinoplus.ru
Сообщества › Сделай Сам › Блог › Дубликатор ключей домофона rfid и ibutton своими руками на ардуино.
Порой случается так, что нужно изготовить копию домофонного ключа. Дубликатор домофонных ключей Arduino может понадобиться если один из ключей комплекта был утерян, потребовался дополнительный ключ, или старый ключ вышел из строя.Конечно можно воспользоваться услугами специализированных мастерских, но можно выполнить эту процедуру и самостоятельно. Особенно интересен этот вариант будет тем, кто разбирается в электронике и имеет практику использования модулей Ардуино.В глобальной сети Интернет существует множество различных проектов того, как используя Arduino, собственноручно сделать копию ключа к домофону. Задача не такая уж и сложная, как это кажется на первый взгляд.
Полный размер
Нужно просто узнать номер-идентификатор оригинального ключа и присвоить его дубликату. Система домофона будет распознавать такой ключ как «свой» и произведет открывание двери.
Процедура считывания с ключа, а также запись на него идентификатора выполняются с применением только однопроводного интерфейса 1-wire. Благодаря этому принципиальная схема будущего дубликата домофонного ключа является достаточно простой.
Полный размер
Ниже поэтапно будут рассмотрены все действия, посредством которых, за минимальное время можно самостоятельно изготовить дубликат своего ключа к домофону. Данный вариант дубликатора работает с болванками контактного типа RW1990 и бесконтактного RFID T5577, T5557.
Подробнее в видео
5 месяцев Метки: ключи домофона, дубликатор ключей, своими руками, ардуино
www.drive2.ru
Копировальщик ключей домофона rfid и ibutton на arduino
Порой случается так, что нужно изготовить копию домофонного ключа. Дубликатор домофонных ключей Arduino может понадобиться если один из ключей комплекта был утерян, потребовался дополнительный ключ, или старый ключ вышел из строя.Конечно можно воспользоваться услугами специализированных мастерских, но можно выполнить эту процедуру и самостоятельно. Особенно интересен этот вариант будет тем, кто разбирается в электронике и имеет практику использования модулей Ардуино. В глобальной сети Интернет существует множество различных проектов того, как используя Arduino, собственноручно сделать копию ключа к домофону. Задача не такая уж и сложная, как это кажется на первый взгляд.
Нужно просто узнать номер-идентификатор оригинального ключа и присвоить его дубликату. Система домофона будет распознавать такой ключ как «свой» и произведет открывание двери.
Процедура считывания с ключа, а также запись на него идентификатора выполняются с применением только однопроводного интерфейса onewire. Благодаря этому принципиальная схема будущего дубликата домофонного ключа является достаточно простой.
Ниже поэтапно будут рассмотрены все действия, посредством которых, за минимальное время можно самостоятельно изготовить дубликат своего ключа к домофону. Данный вариант дубликатора работает с болванками контактного типа RW1990 и бесконтактного RFID T5577, T5557.
Подробнее в видео
www.freeseller.ru
Самодельный дубликатор домофонных ключей на Arduino: инструкция по изготовлению
Просмотров: 7 053
В качестве средств защиты входных дверей домов от непрошенных гостей довольно часто используются домофоны.
Чтобы войти в дом нужно воспользоваться специальным ключом, который владеет своим номером, выполняющим роль идентификатора. По этому номеру электронная система и проводит распознавание «свой» – «чужой» и пропускает хозяина в дом.
Зачем нужен дубликатор ключей?
Порой случается так, что нужно изготовить копию домофонного ключа. Дубликатор домофонных ключей Arduino может понадобиться если один из ключей комплекта был утерян, потребовался дополнительный ключ, или старый ключ вышел из строя.
Естественно, что в таком случае можно воспользоваться услугами специализированных мастерских, но можно выполнить эту процедуру и самостоятельно. Особенно интересен этот вариант будет тем, кто разбирается в электронике и имеет практику использования модулей Arduino.
В глобальной сети Интернет существует множество различных проектов того, как используя Arduino, собственноручно сделать копию ключа к домофону. Задача не такая уж и сложная, как это кажется на первый взгляд.
Нужно просто узнать номер-идентификатор оригинального ключа и присвоить его дубликату. Система домофона будет распознавать такой ключ как «свой» и произведет открывание двери.
Процедура считывания с ключа, а также запись на него идентификатора выполняются с применением только однопроводного интерфейса 1-wire. Благодаря этому принципиальная схема будущего дубликата домофонного ключа является достаточно простой.
Ниже поэтапно будут рассмотрены все действия, посредством которых, за минимальное время и с минимальными финансовыми затратами можно самостоятельно изготовить дубликат своего ключа к домофону.
Как изготовить дубликатор на основе Arduino
Чтобы изготовить дубликатор домофонных ключей на Arduino Uno или Nano следует провести отдельную работу с аппаратной частью будущего устройства, а затем и с программной.
Аппаратная часть
Создать компактный дубликат ключа к домофону можно с помощью модуля Arduino Nano, который помещен в корпус от нефункционирующего USB-хаба. Ключ в таком исполнении является достаточно компактным и удобным в использовании.
Для подключения устройства к COM-терминалу, а также для подачи питания на него используется USB-кабель. На корпусе дубликатора ключа следует установить нефиксируемую кнопку, которая будет использоваться в тех случаях, когда нужно выполнить переключение режимов «чтения»/«записи»/«восстановления».
Аппаратная часть дубликатора ключей
Также на лицевую панель корпуса выводится светодиодный индикатор, используемый для визуализации состояния ключа (в каком из 3-х режимов он находится), а также контактная площадка, выполняющая роль считывателя ключа.
Электронная схема устройства будущего дубликатора отличается своей простотой. Она включает в свой состав линию обмена данными 1-wire, к которой подается питание величиной +5В через транзистор, номинал которого может составить 1÷4,5 кОм.
Оптимальным вариантом будет среднее значение сопротивления резистора 2,2 кОм. Светодиод режимов подключается через ограничивающий резистор оптимального номинала. Кнопка переключения режимов подключается к контактам D2 и GND.
Программная часть
В прошивке устройства можно без изменений оставить часть кода, которая отвечает за процессы чтения и записи данных в электронный ключ через протокол 1-wire, а также ту, которая обеспечивает функционирование модуля.
Остальная часть кода переписывается под собственные потребности, используя для этого стандартную Arduino-библиотеку OneWire. Скетч для программирования модуля Arduino, используемого для дубликатора ключа можно написать самостоятельно или подыскать в интернете готовый вариант, который можно оптимизировать «под себя».
Программная часть дубликатора на основе Arduino
Созданный и запрограммированный модуль на основе Arduino позволит:
- выполнять чтение с оригинального ключа его ID с последующей перезаписью в подготовленную «болванку» ключа;
- записывать универсальный ID, который задается в скетче;
- обеспечивать защиту случайного перезаписывания ID некорректным значением;
- восстанавливать несчитываемые ключи после некорректной записи идентификатра;
- вводить ID номер в ручном режиме;
- поддерживать работу без COM-терминала при условии наличия источника постоянного тока с напряжением 5 В, которое подается через USB-разъем.
Как работать с устройством
Дубликатор домофонных ключей своими руками на Arduino может использоваться как с COM-терминалом, так и без него. Чтобы работать с COM-терминалом, на компьютер предварительно нужно установить соответствующие драйверы для используемой платы Arduino.
В качестве терминала COM-порта может использоваться любой, который наиболее подходит пользователю. Перед использованием терминала нужно произвести некоторые его настройки, а именно выбрать виртуальный COM-порт, под который определена плата и скорость обмена данными, которая записана в скетче.
После выполненных настроек устройства, его следует подключить к персональному компьютеру и запустить терминал COM-порта. Модуль Arduino при этом автоматически перезагрузится. В процессе загрузки светодиодный индикатор несколько раз мигнет.
По истечении нескольких секунд после завершения загрузки устройство будет готово к работе, светодиодный индикатор в этом случае светиться не будет, а в терминале будет выведено сообщение о том, что система готова к использованию.
Через терминал пользователю будут доступны следующие команды:
- процесс загрузки в буфер универсального идентификатора;
- переключение между режимами чтения и записи;
- переход в режим для ручного ввода ID-идентификатора;
- переход к режиму восстановления нечитаемого ключа;
- вывод справки по используемым командам.
Считывание ключа
Чтобы сделать дубликатор домофонных ключей на Ардуино, нужно изначально произвести копирование ID-идентификатора с оригинального ключа. Для того чтобы произвести считывание ключа нужно приложить его к контактной площадке устройства.
Светодиод в этом случае будет часто моргать, а на терминале будет отображен считываемый ID-идентификатор. Код, считываемый с оригинального ключа, будет временно храниться в буфере, пока он не будет перезагружен другим идентификатором.
Для хранения одного ID-кода используется 8 бит, которые отображаются в шестизначном коде.
Записать ключа
Для того чтобы осуществить запись скопированного идентификатора в перезаписываемую болванку домофонного ключа, терминал следует перевести в режим записи, используя для этого соответствующую команду или посредством кнопки на устройстве. Свечение светодиода будет свидетельствовать о том, что изменен режим и устройство готово к записи ID ключа.
После этого нужно приложить записываемый ключ к контактной площадке. В это время светодиод погаснет и через несколько секунд начнет мигать с большой частотой, что будет свидетельствовать о течении процесса записи.
Мигание светодиодного индикатора во время записи на ключ кода
По завершению процедуры перезаписывания ID-идентификатора устройство автоматически перейдет в режим чтения. После того как устройство перешло в режим чтения в терминале можно будет увидеть только что записанный ID-идентификатор.
Если операция прошла успешно, он будет соответствовать тому идентификатору, который был ранее считан из оригинального домофонного ключа. Если записываемый ID-код был некорректным или произошла ошибка записи, то в терминале будет выведено соответствующее сообщение и процедура записи будет отменена.
Благодаря этому устройство предохраняет домофонный ключ от записи в него некорректной информации.
Восстановление нечитаемого ключа
Чтобы произвести восстановление нечитаемого домофонного ключа нужно переключить устройство в соответствующий режим, используя для этого специальную команду в СОМ-терминале или посредством удерживания нажатой кнопки на лицевой панели устройства. Далее следует приложить ключ к контактной площадке.
Если он работоспособен и из него можно считать ID-код, то это произойдет как в обычном режиме чтения, после которого на терминале будет отображен соответствующий 16-значный идентификатор. Если же ключ не считывается, то соответственно никакая процедура не будет реализована до конца и на терминале код отображаться не будет.
16-значный идентификатор для восстановления нечитаемого ключа
В таком случае нужно удерживать ключ приложенным к контактной площадке и нажать на кнопку устройства. Благодаря этой процедуре и произойдет принудительная запись универсального идентификатора, который ранее был прописан в скетче.
После окончания принудительной записи устройство автоматически перейдет в режим чтения. В дальнейшем универсальный ID-идентификатор можно будет заменить оригинальным кодом, считанным с домофонного ключа.
Другие операции
Загрузка в буфер универсального ID-кода. Эту процедуру можно осуществить посредством выполнения соответствующей команды в терминале или же при перезагрузке устройства, если универсальный ID-идентификатор был прописан в скетче.
Загрузка универсального ID-кода
Копирование домофонных ключей Arduino можно выполнять и без наличия оригинала. Для этого достаточно знать его ID-идентификатор который прописывается в скретч и используется как универсальный код.
Устройством предусмотрена возможность ручного ввода ID-идентификатора. Для этого в терминале нужно задать соответствующую команду после исполнения которой можно будет вводить любой ID-код в 16-значном виде.
Заключение
Выше была рассмотрена процедура того, как с помощью обычного модуля Arduino можно самостоятельно изготавливать копии домофонных ключей. Теперь не будет стоять проблема, где сделать новый ключ, если старый потерялся или случайно вышел из строя.
Кроме этого, имея это устройство, можно будет восстанавливать нечитаемые ключи, которые можно возобновить с помощью, сделанного на основе Arduino, устройства и идентификатора оригинального ключа.
Видео: Простой дубликатор домофонных ключей на Arduino Nano
bezopasnostin.ru