Программатор touch memory своими руками

Делаем на Ардуино дубликатор домофонных ключей

Создадим дверной замок RFID Arduino посредством копирования домофонного ключа. Узнаем о радиочастотной идентификации RFID и используем беспроводную связь.

Предназначение дубликатора домофонных ключей

С помощью микроконтроллера Arduino можно копировать домофонный ключ, если случайно его потерял.

RFID – радиочастотная идентификация. Устройство выполняет ту же функцию, что и штрих-код или магнитная полоска на задней стороне кредитной карты. Он предоставляет уникальный идентификатор для этого объекта. И так же, как штрих-код или магнитная полоса, RFID должен быть отсканирован для получения информации.

Идентификатор, считываемый из тегов, сравнивается с хранимой информацией, и если он совпадает, то дверь открывается.

Принцип работы дубликатора на Ардуино

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

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

Необходимые материалы

Для конструирования проекта Arduino дубликатор домофонных ключей понадобятся следующие комплектующие:

  1. Arduino Nano.
  2. RFID RC522.
  3. Пьезо-зуммер.
  4. 2x LED-монитора.
  5. 2x 330 резистор.
  6. Клавиатура 4 × 4.
  7. Адаптер I2C для ЖК-дисплея.
  8. LCD16X2BL.
Читайте также:  Утепление кирпичной дачи изнутри своими руками

Создание дубликатора своими руками

ЖК-дисплей имеет 16 контактов, что слишком много для Arduino Nano домофона, поэтому важно иметь адаптер I2C. Это позволяет управлять дисплеем только из двух сигнальных штырей на Ардуино. Это полезно из-за небольшого числа контактов, которые нужно будет контролировать из MCU.

ЖК-контакты

ЖК-дисплеи имеют параллельный интерфейс, а это означает, что MCU должен одновременно управлять несколькими контактами интерфейса для управления дисплеем. В приведенной ниже таблице дается описание каждого из контактов на английском языке:

Спецификация контактов

Для начала сделаем связи между ЖК-дисплеем и I2C. Для этого нужен адаптер ЖК-дисплея I2C (LCD1602). Адаптер преобразует ЖК-дисплей формата 16 x 2 в серийный ЖК-дисплей I2C, которым можно управлять через Arduino всего посредством 2-х проводов.

Соединения между Arduino и LCD

Аппаратная часть

Для набора кода понадобится библиотека LiquidCrystal_I2C.h в Arduino IDE. Библиотека позволяет подключить ЖК-дисплей к Ардуино. Встроенная библиотека LiquidCrystal_I2C позволяет легко отображать символы на ЖК-дисплее.

Вы можете скачать LiquidCrystal_I2C.h с нашего сайта отсюда, или с Github — https://github.com/todeilatiberia/SmartDoor.

Следуйте приведенным ниже инструкциям, чтобы установить новую библиотеку в свою среду разработки Arduino.

  1. Сначала загрузите файлы из Github.
  2. Извлеките из архивов каждую папку.
  3. Скопируйте ZIP-файлы в папку Ардуино.
  4. Откройте Ардуино и добавьте Keypad.zip:
    Меню эскиза -> Включить библиотеку -> Добавить ZIP-библиотеку
  5. Добавить библиотеку клавиатуры:
    Эскиз -> Включить библиотеку -> Клавиатура

Программная часть

Мы подключим клавиатуру для отображения номеров на ЖК-дисплее для 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-принтера, вы можете просто использовать пластиковый корпус, который позволяет вам вставлять все компоненты внутрь. Это очень полезно, потому что модули будут размещены внутри, а единственными частями вне коробки будут светодиоды, клавиатура и ЖК-дисплей.

Схема соединений, показывающая соединение между Nano, LCD, клавиатурой, RFID и звуковым сигналом

Код для загрузки на микропроцессор доступен по ссылке:

Тестирование и настройка готового дубликатора

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

Можно разработать корпус с использованием программы SketchUp, которая имеет удобный интерфейс с простыми кнопками, такими как Eraser, Lines и Tape Measure Tool.

Размеры коробки составляют: 120 х 125 х 37 мм.

Если вы не знакомы с Sketchup, вам нужно ознакомиться со следующими учебниками SketchUp:

Коробка для корпуса устройства (вид сверху) Коробка для корпуса устройства (вид снизу)

Перед разработкой корпуса для проекта необходимо учитывать следующие аспекты:

  • Вид сверху:
    — 2 отверстия для светодиодов (5,2 мм).
    — 1 для ЖК-дисплея (42,2 × 7,3 мм).
    — 1 отверстие для кабеля (16 × 10,5 мм).
  • Вид снизу:
    — 1 открытие для клавиатуры (27 × 10 мм).

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

Полный корпус с модулями, расположенными внутри

Как пользоваться устройством

Откройте последовательный монитор. Нажмите клавиши. Вы должны заметить, что последовательный монитор сообщает, какой именно ключ пользователь нажал.

Тем не менее, может потребоваться небольшая практика нажатия кнопок.

Источник

Дубликатор RFID меток на 125МГц и Touch Memory

И снова я приветствую всех читателей моей статьи и посетителей сайта «У Самоделкина». Не так давно я делал дубликатор RFID меток на 13 МГц. Устройство получилось, на мой взгляд, хорошее. Свою функцию оно выполняет. Но метки на 13 МГц не так часто встречаются и используются в повседневной жизни. Чаще всего мы пользуемся домофонными ключами. А они выполнены или в виде RFID меток на 125 КГц или метки типа Touch Memory (IButton). В связи с этим, мой предыдущий дубликатор оказался не очень практичным, уж очень редко встречаются метки на 13 МГц. И я решил сделать новый дубликатор. На этот раз направленный на клонирование домофонных ключей. В изготовлении он немного сложнее. Так как готовой обвязки антенны и чипа для считывания сигналов нет в продаже. А те, что продаются на aliexpress годятся только для считывания меток. Итак начнем.

Нам понадобится:
— Arduino Nano 328P.
— Медная, изолированная проволока, тонкая.
— Кнопки, без фиксации 3 шт.
— Кнопка с фиксацией 1 шт.
— Аккумулятор Li-ion плоский.
— Плата контролера Li-ion аккумуляторов.
— OLED 0.96 128х64.
— Небольшая монтажная плата.
— Пластик листовой, толщиной 3-4 мм.
— Болтики, гаечки, шайбочки M4.
— Конденсаторы 4.7 нФ 1 шт., 2.2 нФ 2 шт., 10 нФ 1 шт.
— Резисторы мощностью 0.25 Вт, 220 Ом 3 шт., 2.4 кОм 1 шт., 10 кОм 1 шт., 120 кОм 1 шт., 510 кОм 1 шт.
— Диод 1N4148 1 шт.
— Для копирования нужны заготовки RFID-ключа T5557 и DALLAS-ключа RW1990.
— Buzzer или пищалка.
— Светодиод RGB с общим катодом.
— Сверла по металлу 4 мм.
— Сверло типа «Коронка» на 18 мм.
— Как обычно, инструменты и все для пайки.
— Термоклеевой пистолет.

Вырезаем из него два прямоугольника размером 80х120 мм. Это будет лицевая и задняя крышки корпуса:

По краям, с отступом с каждой стороны в 6 мм, сверлим отверстия диаметром 4 мм:

Накладываем одну заготовку, с просверленными отверстия, на вторую, и сверлим отверстия во второй, так отверстия получатся на одинаковом отступе от краев. Одну заготовку помечаем как заднюю и откладываем в сторону. Вторую берем на дальнейшие манипуляции. Для начала необходимо прорезать окошко под дисплей, размером 24х13 мм. В верхнем левом углу лицевой заготовки, отступая от краев по 15 мм:

Теперь надо сделать лузу для ключей Touch Memory. Для этого берем сверло типа «Коронка» диаметром 18 мм. И сверлим отверстие в правом верхнем углу лицевой заготовки, с отступом от краев в 12 мм:

Так же для лузы нам понадобиться еще прямоугольник размером 23х23 мм, с отверстие по середине, диаметром 4 мм:

С корпусом пока закончили переходим к самому интересному – антенне и ее обвязке.

Шаг 2. Собираем антенну и ее обвязку.
Для начал нам понадобиться антенна, ее роль будет выполнять катушка на 340 мкГн. Ее можно намотать самому, а можно и купить. Мы пойдет сложным путем и будем мотать на спичечный коробок:

Проволоку берите потоньше. Токи, протекающие по ней, маленькие так что греться не будет. Можно разобрать трансформатор от сгоревшего импульсного блока питания. Главное, чтобы проволоки хватило, понадобиться примерно 10 метров. Для начал мотаем на коробок 59 витков, но оставьте запас на конце, может придется доматывать.
Теперь собираем обвязку по схеме:

Лучше всего отрегулировать количество витков на тестовом стенде. Собираем обвязку, припаиваем катушку и подключаем к любой Arduino. Заливаем скетч из шага ниже:

А теперь берм тестер и меряем напряжение между GND и точкой, показанной на схеме ниже:

Далее пробуем намотать виток или два. Если напряжение увеличивается, наматываем еще витки, пока напряжение не начнет падать. Если напряжение начало падать, сматываем эти витки. Таким образом, наматывая или сматывая витки, необходимо добиться напряжения больше 15 В. Лучше всего зафиксировать количество витком, при котором напряжение максимальное. Найдя количество витков, при котором напряжение максимальное, фиксируем нашу катушку скотчем, чтобы не размоталась в процессе монтажа:

Обвязку необходимо собирать в любом случае, а вот катушку, она же антенна, можно купить. Поищите на aliepress катушку на 340 мкГн или антенну от модуля считывания идентификационных карт RFID RDM6300. Это упростит изготовление моей самоделки.

Шаг 3. Собираем компоненты вместе.
Теперь можем приступить к сборке. Берем лицевую панель, переворачиваем ее. И начинаем клеить элементы. Чтобы было возможным паять компоненты уже приклеенными, будем клеить все элементы на небольшой возвышенности. Берем маленькую полосочку материала, из которого сделан корпус. Вначале клеим ее, а затем, уже на нее клеим Arduino Nano 328P:

Слева от Arduino клеим нашу катушку (или катушку с aliepress):

Сверху от Arduino клеим монтажную плату, на которой мы распяли всю обвязку:

Далее начинаем все соединять по схеме:

Берем наш OLED кран, и размещаем его над заранее подготовленным окно:

Для индикации режимов работы будем использовать трехцветный (RGB) светодиод. Можно взять в стандартном 5 мм. корпусе, и просверлив отверстие в 5 мм, вставить диод в него. У меня такого не было. Поэтому я взял светодиод от ленты, и распаял его на монтажной плате, вместе с резисторами

Клеим наш светодиод между экраном и Arduino:ъ

Согласно схеме, нам понадобиться энкодер с кнопкой. Такого у меня тоже не оказалось, поэтому заменим его тремя кнопками, работать тоже будет. Распаиваем все три кнопки на монтажной плате, для удобства:

Используя термоклей фиксируем кнопки справа от экрана:

Для сборки лузы считывателя Touch Memory, нам понадобятся следующие компоненты:

Вставляем его в середину. И небольшой обрезок железки для бокового контакта:

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

А затем вставляем болтик, и фиксируем его шайбой и гайко, не забывая подложить под шайбу провод, идущий к Arduino и подтягивающий резистор:

Не забываем про Buzzer, он же пищалка, клеим его в нижней части, справа:

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

Лицевая сторона с собранными компонентами выглядит так:

Для питания возьмем Li-ion аккумулятор с платой контроллера. И, как всегда, у меня такого не оказалось и ждать его сил не были. Но у меня был небольшой Powerbank, аккумулятор у него был уже волоске от смерти, но для такой небольшой самоделки, сойдет. Разбираем его:

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

Чтобы не было КЗ и провода не отвалились, заматываем все скотчем:

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

Кладем рядом две части дубликатора. Припаиваем провода питания. Плюс через выключатель, минус напрямую к GND Arduino:

Шаг 4. Скетч и библиотеки.
Для начала скачиваем среду разработки Arduino IDE. Как всегда, ее можно скачать с официального сайта:

Библиотек нам понадобиться много. Скачиваем все и устанавливаем:

А также библиотека для работы с энкодером от Алекса Гайвера:

Источник

Оцените статью