Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Устройство копирования электронных ключей типа Touch Memory или Ibutton

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

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

    Добрый день, сегодня я занялся идеей создания устройства для копирования электронных ключей типа Touch memory или ibutton. Так же известных как «таблетки». Такие ключи хотя уже порядком устарели, их вытеснили бесконтактные 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
    - Изолента
    - Соединительные провода
    - Кнопка
    - Небольшой кусочек нержавейки
    - ножницы по металлу
    - Канцелярский нож
    - Паяльник
    - Припой, канифоль
    - Двусторонний скотч

    Шаг 1 Немного о самих ключах Ibutton.
    Чтобы было понятно iButton - это просто микросхема, запиханная в круглый корпус из нержавеющей стали. Диаметр корпуса 16.3 мм. Корпус из нержавеющей стали устойчив к воздействию ударов, грязи и влажности. Стандарт корпуса носит название iButton MicroCan. Выпускаются в двух вариантах стандартной толщины: 3.1 мм (версия F3) и 5.9 мм (версия F5). Питание микросхема получает от линии данных master устройства. Диаметр крышки у всех версий одинаковы. Поэтому для всех подойдет одна и та же считывающая чашка. Блок-схема наших ключей:


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

    Шаг 2 Экран.

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


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

    WG12864B – Arduino UNO
    1 (GND) - GND
    2 (VCC) - +5V
    4 (RS) – 10
    5 (R/W) – 11
    6 (E) – 13
    15 (PSB) – GND
    19 (BLA) – через резистор 100 Ом - +5V
    20 (BLK) – GND

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


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


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


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


    Берем в руки канцелярский нож и начинаем вырезать прорези. Для начала вырежем самую большую в верхней части коробки размером 37х69. Она нужна для экрана.


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


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


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


    И загибаем края:


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


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


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


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


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


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


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


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


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


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

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


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

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

    Для работы с Touch memory используется библиотека One Wire. Ее также надо скачать и установить в среду Arduino IDE:
    onewire.rar [16.75 Kb] (скачиваний: 180)


    Экран запустим с помощью библиотеки U8glib:
    u8glib.rar [906.95 Kb] (скачиваний: 153)


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


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

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


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


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


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

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

    byte ReadID[8] = { 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F };


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

    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
    Насколько полезно и актуально такое устройство
    Насколько полезно и актуально на данный момент такое устройство?
    Всего проголосовало: 61

    Часы метеостанция на Arduino

    Автомобильный вольтметр на Arduino

    9.2
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8.8
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    7.5
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 8.47 из 10 (голосов: 12 / История оценок)

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

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии