Как сделать дубликат touch memory

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

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

Инструкция по чтению и записи ключа iButton (1-wire) с помощью Arduino

1 Схема подключения ключа к Arduinoпо однопроводному интерфейсу

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

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

Собранная схема может выглядеть примерно так:

2 Считывание идентификатора ключа iButton с помощью Arduino

Для работы с интерфейсом 1-wire существуют готовые библиотеки для Ардуино. Можно воспользоваться, например, этой. Скачиваем архив и распаковываем в папку /libraries/, расположенную в каталоге Arduino IDE. Теперь мы можем очень просто работать с данным протоколом.

Загрузим в Ардуино стандартным способом этот скетч:

Скетч чтения ключа iButton с помощью Arduino (разворачивается)

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

Теперь подключим ключ к схеме. Монитор порта покажет номер ключа. Запомним этот номер.

А вот какой обмен происходит на однопроводной линии при чтении идентификатора ключа (подробнее – далее):

3 Запись идентификатора ключа Dallasс помощью Arduino

Теперь напишем скетч для записи данных в память ключа iButton.

Скетч записи ключа iButton с помощью Arduino (разворачивается)

Не забудьте задать номер своего оригинального ключа в массиве key_to_write, который мы узнали ранее.

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

Если данный скетч не сработал, попробуйте заменить код после Serial.print(«Start programming. «) и до конца функции loop() на следующий:

Дополнительный скетч записи ключа iButton с помощью Arduino (разворачивается)

Здесь функция writeByte() будет следующей:

Временную диаграмму работы скетча записи идентификатора ключа показывать бессмысленно, т.к. она длинная и не поместится на рисунке. Однако файл *.logicdata для программы логического анализатора прикладываю в конце статьи.

Ключи для домофона бывают разных типов. Данный код подойдёт не для всех ключей, а только для RW1990 или RW1990.2. Программирование ключей других типов может привести к выходу ключей из строя!

При желании можно переписать программу для ключа другого типа. Для этого воспользуйтесь техническим описанием Вашего типа ключа (datasheet) и изменить скетч в соответствии с описанием. Скачать datasheet для ключей iButton можно в приложении к статье.

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

4 Описание однопроводного интерфейса 1-Wire

1) Инициализация

Инициализация заключается в том, что ведущий выставляет условие сброса RESET (на время от 480 мкс или более опускает линию в «0», а затем отпускает её, и за счёт подтягивающего резистора линия поднимается в состояние «1»), а ведомый не позднее чем через 60 мкс после этого должен подтвердить присутствие, также опустив линию в «0» на 60…240 мкс и затем освободив её:

2) Команды работы с ПЗУ

Если после импульса инициализации не пришёл сигнал подтверждения, мастер повторяет опрос шины. Если сигнал подтверждения пришёл, то мастер понимает, что на шине есть устройство, которое готово к обмену, и посылает ему одну из четырёх 8-битных команд работы с ПЗУ:

НазваниеКомандаНазначение
Чтение (Read ROM )0x33Мастер считывает 64 первых битов iButton, в которых содержатся: 8 бит кода семейства (*), 48 бит серийного номера и 8 бит контрольной суммы.
Совпадение (Match ROM)0x55Обращение к определённому устройству с известным 64-битным номером.
Поиск (Search ROM)0xF0Позволяет определить все 64-битные номера ведомых устройств, подключённых к шине.
Пропуск (Skip ROM)0xCCПозволяет сэкономить время обмена данными с ключом благодаря тому, что мастер пропускает проверку серийного номера. Не рекомендуется к использованию в ситуации, когда на линии присутствуют несколько ведомых.

(*) Кстати, семейств устройств iButton существует довольно много, некоторые из них перечислены в таблице ниже.

Коды семейств устройств типа iButton (разворачивается)

Код семействаУстройства iButtonОписание
0x01DS1990A, DS1990R, DS2401, DS2411Уникальный серийный номер-ключ
0x02DS1991Мультиключ, 1152-битная защищённая EEPROM
0x04DS1994, DS24044 кб NV RAM + часы, таймер и будильник
0x05DS2405Одиночный адресуемый ключ
0x06DS19934 кб NV RAM
0x08DS19921 кб NV RAM
0x09DS1982, DS25021 кб PROM
0x0ADS199516 кб NV RAM
0x0BDS1985, DS250516 кб EEPROM
0x0CDS199664 кб NV RAM
0x0FDS1986, DS250664 кб EEPROM
0x10DS1920, DS1820, DS18S20, DS18B20Датчик температуры
0x12DS2406, DS24071 кб EEPROM + двухканальный адресуемый ключ
0x14DS1971, DS2430A256 бит EEPROM и 64 бита PROM
0x1ADS1963L4 кб NV RAM + счётчик циклов записи
0x1CDS28E04-1004 кб EEPROM + двухканальный адресуемый ключ
0x1DDS24234 кб NV RAM + внешний счётчик
0x1FDS2409Двухканальный адресуемый ключ с возможностью коммутации на возвратную шину
0x20DS2450Четырёхканальный АЦП
0x21DS1921G, DS1921H, DS1921ZТермохронный датчик с функцией сбора данных
0x23DS1973, DS24334 кб EEPROM
0x24DS1904, DS2415Часы реального времени
0x26DS2438Датчик температуры, АЦП
0x27DS2417Часы реального времени с прерыванием
0x29DS2408Двунаправленный 8-разрядный порт ввода/вывода
0x2CDS2890Одноканальный цифровой потенциометр
0x2DDS1972, DS24311 кб EEPROM
0x30DS2760Датчик температуры, датчик тока, АЦП
0x37DS197732 кб защищённой паролем EEPROM
0x3ADS2413Двухканальный адресуемый коммутатор
0x41DS1922L, DS1922T, DS1923, DS2422Термохронные и гигрохронные датчики высокого разрешения с функцией сбора данных
0x42DS28EA00Цифровой термометр с программируемым разрешением, возможностью работать в режиме подключения к последовательному каналу и программируемыми портами ввода/вывода
0x43DS28EC2020 кб EEPROM

Данные передаются последовательно, бит за битом. Передачу каждого бита инициирует ведущее устройство. При записи ведущий опускает линию к нулю и удерживает её. Если время удерживания линии равно 1…15 мкс, значит записывается бит «1». Если время удерживания от 60 мкс и выше – записывается бит «0».

Чтение битов также инициируется мастером. В начале чтения каждого бита мастер устанавливает низкий уровень на шине. Если ведомое устройство хочет передать «0», оно удерживает шину в состоянии LOW на время от 60 до 120 мкс, а если хочет передать «1», то на время примерно 15 мкс. После этого ведомый отпускает линию, и за счёт подтягивающего резистора она возвращается в состояние HIGH.

Вот так, например, выглядит временная диаграмма команды поиска Search ROM (0xF0). Красным цветом на диаграмме отмечены команды записи битов. Обратите внимание на порядок следования битов при передаче по 1-Wire: старший бит справа, младший – слева.

Далее, если предшествующей командой подразумевается работа с ППЗУ (чтение и запись из перезаписываемой памяти ключа Dallas), то мастер передаёт команду работы с ППЗУ.

3) Команды работы с ППЗУ

Прежде чем рассматривать команды для работы с ППЗУ iButton, необходимо пару слов сказать о структуре памяти ключа. Память разделена на 4 равных участка: три из них предназначены для хранения трёх уникальных ключей, а четвёртый – для временного хранения данных. Этот временный буфер служит своеобразным черновиком, где данные готовятся для записи ключей.

Для работы с ППЗУ существуют 6 команд:

НазваниеКомандаНазначение
Записать во временный буфер (Write Scratchpad)0x96Используется для записи данных во временный буфер (scratchpad).
Прочитать из временного буфера (Read Scratchpad)0x69Используется для чтения данных из временного буфера.
Копировать из временного буфера (Copy Scratchpad)0x3CИспользуется для передачи данных, подготовленных во временном буфере, в выбранный ключ.
Записать пароль ключа (Write Password)0x5AИспользуется для записи пароля и уникального идентификатора выбранного ключа (одного из трёх).
Записать ключ (Write SubKey)0x99Используется для непосредственной записи данных в выбранный ключ (минуя временный буфер).
Прочитать ключ (Read SubKey)0x66Используется для чтения данных выбранного ключа.

4) Передача данных

5 Возможные ошибки при компиляции скетча

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

2) Если при компиляции появляется ошибка class OneWire has no member named read_bytes, то найдите и попробуйте использовать другую библиотеку для работы с интерфейсом OneWire.

Источник

Как сделать своими руками копировальщик контактных и бесконтактных ключей домофона

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

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

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

Шаг первый. Распайка схемы.

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Схема состоит из платы Arduino Nano с подключенными считывателем контактных ключей и платы считывателя бесконтактных ключей. RGB светодиод служит для индикации режимов работы-дежурный, считывание ключа,запись ключа. Подстроечный многооборотный резистор для регулировки компаратора. Кнопка предназначена для переключения режимов работы дубликатора. Зуммер- для звукового контроль работы копира.

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

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory
Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Колебательный контур состоит из конденсатора 4700 пФ и катушки индуктивности.

Расчет катушки колебательного контура можно произвести на калькуляторе сайта

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Шаг второй. Настройка и проверка работы.
Собираем всю схему для настройки на макетной плате. Загружаем скетч. Версия IDE Arduino должна не ниже 1.8.9

С платы Arduino Nano контакт D11 выдается сигнал 125 kHz, который идет на колебательный контур катушки и конденсатора. Но потому что конденсаторы имеют разброс по емкости от 5 до 30%, колебательный контур надо точно настроить на частоту 125 kHz. Для этого катушку наматываем с запасом 10-15 витков, затем сматываем пока на тестере не будет увеличиваться напряжение до максимума. Тестер подключаем к амплитудному детектору(в точке –диод,конденсатор). Напряжение должно находится в пределах 16-22 Вольта. После подстроечным резистором выставляем напряжение 0,1 Вольта(тестер на вывод D6 и GND).

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Если схема собрана и настроена правильно то она сразу начинает работать. Подносим к катушке RFID ключ, происходит считывание кода, проходит звуковой сигнал.

Ключ представляет собой катушку с чипом.

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory
Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

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

Процесс изготовления и настройки можно посмотреть в видео

Всем желаю здоровья и интересных самоделок!

Источник

Устройство копирования электронных ключей типа Touch Memory или Ibuttom

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Добрый день, сегодня я занялся идеей создания устройства для копирования электронных ключей типа Touch memory или ibuttom. Так же известных как «таблетки». Такие ключи хотя уже порядком устарели, их вытеснили бесконтактные Rfid, но все еще часто используются для домофонов или охранной сигнализации. Основой нашего устройства будет служить Arduino Uno. Можно использовать любую другую Arduino совместимую плату. Чтобы можно было использовать наше устройство автономно, без компьютера, понадобиться блок питания от 6 до 12 вольт. Для индикации состояния устройства будем использовать графический экран WG12864B. Также нам понадобиться корпус, в данном случаем коробка от картриджа Sega подойдет идеально.

Для осуществления данной идеи понадобиться:

— Arduino UNO (Или Arduino совместимая плата)
— WG12864B графический экран
— Резистор 100 Ом 0.25 Вт
— Блок питания 6 – 12 В
— Резистор 2.2 КОм 0.25 Вт
— Резистор 10 КОм 0.25 Вт
— Коробка от картриджа приставки SEGA
— Изолента
— Соединительные провода
— Кнопка
— Небольшой кусочек нержавейки
— ножницы по металлу
— Канцелярский нож
— Паяльник
— Припой, канифоль
— Двусторонний скотч

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Ключи бывают перезаписываемыми и нет. Чтобы сделать дубликат понадобятся, соответственно, перезаписываемые. Бывают 3 версии меток: RW1990, TM08v2 и TM-08 VZT F. Отличаются по микросхеме, находящейся внутри. Наиболее распространённые RW1990. Их можно купить на aliexpress или розничном магазине по продаже охранно-пожарных систем.

Шаг 2 Экран.

Мы будем использовать жидкокристаллический дисплей, разрешение 128 на 64 точки. Большинство из них работают на микросхемах ks0107/ks0108, поэтому проблемы с совместимостью не должно быть. Все эти экраны можно разделить на 4 типа. Отличаются разным подключение:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Лучше всего брать WG12864B3 V2.0, его можно легко найти как в китайских, так в российских магазинах. Могут быть несколько видов подсветки, но на функционале это никак не отразиться. Также есть два варианта подключения: параллельное и последовательное. При выборе параллельного типа нам потребуется 13 свободных выводов Arduino. Выбираем последовательное. Тут задействуется всего 3 вывода. И не забудьте про питание:

Яркость экрана регулируется потенциометром, находящемся на плате с экраном. Если его – возможность регулировки яркости отсутствует, но такое бывает редко:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Сопротивление в 100 Ом используется для снижения напряжения для подсветки экрана. Вставляем его в разрез провода, питающего подсветку:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Шаг 3 Корпус и считывающая чашка.
Чтобы у нас не было «джигурды», и выглядело все нормально, начнем изготовление корпуса. Отлично подойдет любая пластиковая коробка, в которую поместиться Arduino Uno и экран. Оптимальное решение – коробка от картриджа.

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Срезаем петлю коробку и снимаем пленку:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Внутри коробки наклеиваем клеим двусторонний скотч,:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Теперь озадачимся считывающийся чашкой. Можно купить и использовать готовую. Это самый простой вариант. Я покажу как можно самому изготовить эту чашку. Вырезаем из нержавейки два прямоугольника: 20х20 мм и 20х8 мм:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Делаем небольшую прорезь внизу экрана и вставляем туда прямоугольник побольше:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

И с обратной стороны делаем тоже для фиксации минусовой контактной пластины:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Для плюса также делаем прорезь и вставляем в нее плюсовой контакт:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

С внутренней стороны контакты выглядят так:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

На заранее наклеенный скотч крепим экран:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Снаружи должно быть так:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Внутри коробки, ниже экрана располагаем Arduino:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Не забудьте сделать прорези для USB и гнезда питания:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Для переключения режимов между чтение и записью, выводи кнопку:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Шаг 4 Решаем вопрос питания.
Чтобы наше устройство работало, обеспечим его питанием. Для этого нам нужен блок питания. Напряжение должно быть от 6 вольт до 12. Штекер на конце должен подходить к гнезду Arduino:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Можно обойтись и без блока питания. Можно запитать устройство от USB компьютера. Если хотите можно взять отсек для 4 батарее размера ААА и запихнуть его внутрь. Плясовой вывод тогда надо подключить к Vin платы Arduino.

Шаг 5 Соединение всего воедино.
Считывающую чашу подключаем по схеме:

Плюсовой контакт чаши подключаем к pin 7, подтягивая через резистор в 2.2 Ком к VCC. Кнопку подключаем к pin 6, подтягивая резистором на 10 Ком к GND.

Шаг 6 Программная часть.
Скачиваем и устанавливаем Arduino IDE с официального сайта

Для работы с Touch memory используется библиотека One Wire. Ее также надо скачать и установить в среду Arduino IDE:

Экран запустим с помощью библиотеки U8glib:

Без библиотек скомпилировать скетч и залить его в Arduino не получиться. Действуем следующим образам: разархивируем скаченные архивы и перемещаем эти файлы в папку с именем «libraries». Ее можно найти по пути установки среды программирования.
Скачиваем архив со скетчем:

Распаковываем архив, открываем скетч в Arduino Ide и заливаем в Arduino.

Шаг 7 Процесс копирования ключей.
При включении нашего устройства на экране отобразится надпись «Read» и универсальный ключ. Этот ключ записан в скетче. Я его нашел на просторах интернета. Лично не проверял на сколько он универсальный. Если это произошло наше устройство готово к работе:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

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

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Теперь нажимает кнопку, надпись на экране должна поменяться на «Write». Также будет отображен ключ, который будет записан:

Как сделать дубликат touch memory. Смотреть фото Как сделать дубликат touch memory. Смотреть картинку Как сделать дубликат touch memory. Картинка про Как сделать дубликат touch memory. Фото Как сделать дубликат touch memory

Прикладываем таблетку, болванку на которую будем писать, и дожидаемся пока на экране надпись снова смениться на «Read». Если это произошло – запись прошла удачно. Для проверки снова приложить болванку, устройство должно ее прочесть и отобразить ключ.
Если вы хотите записать универсальный ключ, просто в самом начале нажмите кнопу, когда надпись смениться на «Write» приложите болванку.
Также устройство отправляет информацию о ключах и процессах чтения и копирования через serial порт. Можно открыть терминал Arduino Ide или любую другую терминальную программу и следить за процессом копирования в нем.

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

Но тут не все так просто. Последний байт — это контрольная сумма ключа или Cyclic Redundancy Check (CRC). В данном случаем это 2F. Без этой суммы считывающие устройства не принимают ключ. CRC рассчитывается особым алгоритмом. Можно этот алгоритм найти и посчитать самому, но проше использовать наше устройство. Первый байт это — family code, он должен быть всегда 01. Далее прописывает в строке байты, которые мы хотим записать как универсальный ключ. Заливаем скетч. Записываем этот ключ на болванку и пробуем считать его обратно, при этом открыв окно терминала. В терминале мы увидим наш ключ и в конце CRC. Это и есть искомая контрольная сумма. Теперь опять редактируем скетч. Вместо последнего байта в той же строке записываем байт, полученный при чтении, после CRC. Снова заливаем скетче и записываем новый ключ на болванку. Открываем окно терминала, пробуем прочесть наш ключ. Последний байт ключа должен совпадать с байтом записанным после CRC.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *