Кто на сайте
Сейчас 41 гостей онлайн
Авторизация





Как сделать копию ключа для домофона в домашних условиях

 

С помощью Ардуино можно сделать дома копию ключа для домофона за 15 минут, если, к примеру, мастерская закрыта, а ключ нужен срочно. Давайте посмотрим, как это делается.

Вам понадобится

- Ардуино;
- компьютер;
- ключ для домофона типа iButton или 1-wire;
- ключ-болванка для создания "клона" оригинального ключа;
- 1 резистор сопротивлением 2,2 кОм;
- соединительные провода.

Инструкция

1. Каждый ключ для домофона имеет свой номер - именно этот номер и служит идентификатором ключа. Именно по номеру ключа домофон решает - свой или чужой. Поэтому алгоритм копирования такой: сначала нужно узнать номер "разрешённого" ключа, а затем присвоить этот номер другому ключу - клону. Для домофона нет разницы, был приложен оригинальный ключ или его копия. Сверив номер со своей базой данных разрешённых номеров, он откроет дверь.
Ключи для домофона, которые мы будем подключать к Arduino (их иногда называют iButton или Touch Memory), считываются и записываются по 1-проводному интерфейсу 1-wire. Поэтому схема подключения очень проста. Нам нужны лишь пара проводов и подтягивающий резистор 2,2 кОм. Схема показана на рисунке.

Подключаем ключ для домофона к Ардуино

2. Для работы с интерфейсом 1-wire существуют готовые библиотеки для Ардуино. Можно воспользоваться, например, этой: http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip. Скачиваем архив и распаковываем в папку "libraries", расположенную в каталоге Arduino IDE. Теперь мы можем очень просто работать с данным протоколом.

Загрузим в Ардуино стандартным способом скетч, приведённый на иллюстрации.

Скетч чтения номера ключа от домофона

3. Данный скетч показывает номер ключа для домофона, который подключён к схеме. Это то, что нам и нужно сейчас - мы должны узнать номер ключа, копию которого хотим сделать. Подключим Ардуино к компьютеру. Запустим монитор последовательного порта: Инструменты -> Монитор последовательного порта (или сочетание клавиш Ctrl + Shift + M).
Теперь подключим ключ к схеме. Монитор порта покажет номер ключа. Запомним этот номер.

Узнаём номер ключа, клон которого будем делать

4. Теперь перепишем скетч таким образом, чтобы он мог записывать данные в память ключа. Код приведён на иллюстрации. В коде даны подробные комментарии. Главное, не забудьте задать номер своего оригинального ключа в массиве key_to_write, который вы узнали чуть ранее.

Скетч для программирования ключа iButton

5. Загрузим этот скетч в Arduino. Откроем монитор последовательного порта. Подключим к схеме ключ, который будет клоном оригинального ключа. О результате программирования монитор последовательного порта выведет соответствующее сообщение.

6. 1) Если при компиляции скетча возникнет ошибка [ WConstants.h: No such file or directory #include "WConstants.h" ], то следует в файле "OneWire.cpp" заменить первый блок после комментариев на следующий:

#include "OneWire.h"
#include "Arduino.h"
extern "C" {
#include "avr/io.h"
#include "pins_arduino.h"
}
2) Если при компиляции появляется ошибка "class OneWire has no member named read_bytes" или подобная, то найдите другую библиотеку OneWire, в интернете их много.


Коментарии:

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


Защитный код
Обновить