З допомогою Ардуїнов можна зробити вдома копію ключа для домофону за 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, який ви дізналися трохи раніше.
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, в інтернеті їх багато.
Зверніть увагу
Ключі для домофону бувають різних типів і сімейств. Даний код підійде не для всіх ключів, а тільки для RW1990 або RW1990.2. Програмування ключів інших типів може призвести до виходу ключів з ладу!При певному бажанні, можна переписати програму для ключа іншого типу. Для цього потрібно знайти опис на Ваш ключ (datasheet) і поправити код скетчу у відповідності з описом.