Оглавление:
- Шаг 1: Необходимые детали
- Шаг 2: соберите контроллер Arduino
- Шаг 3. Создайте считыватель RFID
- Шаг 4: Программируйте
- Шаг 5: развернуть
Видео: Дверной замок Arduino RFID: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:55
*** Обновлено 9.08.2010 *** Я хотел сделать простой и безопасный способ входа в свой гараж. Радиочастотная идентификация была лучшим способом отпереть мою дверь, даже с занятыми руками я могу отпереть дверь и толкнуть ее! Я построил простую схему с базовым чипом Arduino ATMega 168 и считывателем RFID ID-20 для управления электронным дверным замком. Схема состоит из 3 отдельных частей: считывателя для считывания RFID-меток, контроллера для приема данных от считывателя и управления выходом светодиода RGB и электрического дверного замка. Дверной замок сначала устанавливается в дверь и проверяется с помощью батареи 9 В, чтобы гарантировать правильную установку. В большинстве случаев вам нужна нормально разомкнутая цепь на дверном замке или Fail Secure. Это означает, что дверь остается заблокированной, когда через нее не проходит ток. Когда 12 В постоянного тока пропускается через электромагнит в дверном замке, пластина в замке уступает место и позволяет двери свободно открываться. Считыватель расположен снаружи двери и отделен от контроллера внутри, так что никто не может обойти защиту, взламывая считыватель и пытаясь закоротить считыватель. Контроллер получает последовательные данные от считывателя и управляет светодиодом RGB и дверным замком. В данном случае я поместил их на отдельные макеты для тестирования. Вот видеообзор системы в действии. Прочтите, чтобы узнать, как создать систему для себя! ** Обновление ** Все коды, схемы и проекты печатных плат были протестированы и доработаны. Все они размещены здесь по состоянию на 09.08.2010. Обновленное видео окончательной установки и работы системы.
Шаг 1: Необходимые детали
Вот список запчастей и ссылки на SparkFun.com, где я их купил. Это базовый набор деталей, которые вам нужно собрать, а также Arduino и схему для считывания RFID-меток в Arduino. Я предполагаю, что у вас уже есть макет, блок питания и провода для подключения.
Ардуино материалы
ATmega168 с загрузчиком Arduino $ 4,95
Кристалл 16 МГц $ 1,50
Конденсатор керамический 22пФ 0,25 $ (x2)
Резистор 10кОм 1/6 Вт PTH 0,25 $
Мини кнопочный переключатель $ 0,35
Светодиодный RGB с тройным выходом - рассеянный $ 1.95
RFID вещи
Любой из них: 20 имеет лучший диапазон, 12 меньше RFID-считыватель ID-12 29,95 долл. США Считыватель RFID-20 34,95 долл. США
RFID-считыватель Breakout $ 0,95
Заголовки Break Away - Straight $ 2,50
RFID-метка - 125 кГц $ 1,95
Другой
Транзистор TIP31A (радиорубка / местный магазин электроники $ 1,50)
Дверной замок от ebay. Отказ двери Безопасный контроль доступа Electric Strike v5 NO $ 17,50 (kawamall, bay)
Шаг 2: соберите контроллер Arduino
Первый шаг к созданию дверного замка RFID с базовым Arduino - это макет базового рабочего Arduino. Большинство чипов ATMega 168 с предварительно установленной прошивкой Arduino поставляются с предустановленной программой мигания по умолчанию. Подключите светодиод к цифровому выходу 13 и убедитесь, что все работает.
Аппаратная часть этого считывателя RFID была бы слишком простой, если бы мы использовали обычный Arduino со встроенным программатором USB. Поскольку я планирую прикрепить его к стене и больше не прикасаться к нему, я не хочу использовать большую громоздкую плату Arduino за 30 долларов, когда я могу купить ATMega 168 за 5 долларов и сделать гораздо меньшую индивидуальную печатную плату.
Поскольку я сам решил сделать базовую схему Arduino, мне нужен внешний программатор USB-> Serial FDIT. Я включил схему контроллера Eagle с источником питания, построенным на стабилизаторе напряжения 7805. При тестировании я использовал макетный блок питания.
Для запуска и запуска Arduino все, что вам действительно нужно, это ATMega168 с прошитым программным обеспечением arduino, 2 конденсатора по 22 пФ, кристалл 16 МГц, резистор 10 кОм, кнопка и макет. Схема подключения хорошо известна, но я включил полную схему схемы.
Arduino будет активировать 4 выхода, по одному на каждый красный / зеленый / синий светодиоды и 1 для запуска TIP31A для отправки 12 В постоянного тока на дверной замок. Arduino получает последовательные данные на своей линии Rx от считывателя RFID ID-20.
Шаг 3. Создайте считыватель RFID
Теперь, когда у вас есть хлеб для Arduino и он работает, вы можете собрать часть схемы RFID-считывателя, которая будет содержать ID-10 или ID-20 и светодиод RGB для индикации состояния схемы. Помните, что считыватель будет снаружи и отделен от контроллера внутри, чтобы кто-то не мог легко взломать его.
Чтобы построить это, мы собираемся отправить 5 В / Земля с основной макетной платы на вспомогательную макетную плату, на которой мы строим Reader. Также отправьте 3 провода от 3 выходных контактов Arduino для управления светодиодом RGB, по одному для каждого цвета. Еще один провод, коричневый на изображениях, будет последовательным соединением для ID-20, чтобы общаться с последовательным входом Rx Arduino. Это очень простая схема для подключения. У светодиодов есть резисторы, и несколько точек на ID-20 связаны с землей / 5 В для установки правильного состояния.
Чтобы упростить монтаж на макетной плате, ID-10 / ID-20 Sparkfun продает плату Breakout, которая позволяет прикреплять более длинные штыревые разъемы, которые разнесены по размеру макетной платы. Эта часть и пин-заголовки перечислены в списке запчастей.
Схема должна быть простой и понятной.
Шаг 4: Программируйте
Пришло время запрограммировать ваш Arduino. Это может быть немного сложно с использованием базового Arduino, возможно, вам придется нажимать кнопку сброса несколько раз до и во время первой части загрузки. Очень важно помнить, что вы получите ошибку загрузки, если временно не отключите последовательную линию ID-20 от линии Rx Arduino. ATMega168 имеет только 1 вход Rx и использует его для загрузки кода для общения с программистом. Отключите ID-20 во время программирования, а затем подключите его снова, когда закончите. Я использовал программатор FTDI, который позволяет программировать Arduino через USB всего с 4 проводами. На схеме контроллера показано соединение с штыревым разъемом, позволяющее подключить его напрямую. Sparkfun также продает эту деталь, но у многих она уже есть.
Вы можете легко загрузить мой код на свой Arduino и никогда не оглядываться назад, но что в этом интересного? Позвольте мне объяснить основную идею того, как это работает.
Прежде всего, мне не нужны были внешние кнопки / переключатели / и т. Д., И я не хотел перепрограммировать Arduino каждый раз, когда я хотел добавить новую карту. Поэтому я хотел использовать только RFID для управления работой цепи, а также для управления дверным замком.
Программа включает синий светодиод, чтобы указать, что она готова к считыванию новой карты. Когда карта считывается, он решает, действительная это карта или нет, сравнивая то, что она считывает, со списком действительных карт. Если пользователь действителен, arduino выключает синий светодиод и включает зеленый светодиод на 5 секунд. Он также включает другой выходной сигнал высокого уровня на 5 секунд. Этот выход подключен к транзистору TIP31A и позволяет крошечному Arduino управлять гораздо большим дверным замком на 12 В, 300 мА, не будучи поврежденным. Через 5 секунд дверной замок снова запирается, и светодиод снова становится синим, чтобы дождаться считывания другой карты. Если карта недействительна, светодиодный индикатор на несколько секунд изменится на КРАСНЫЙ, а затем снова на синий, чтобы дождаться другой карты.
Важно, чтобы дверной замок продолжал работать, даже если Arduino теряет питание в течение ночи или перезагружается. Поэтому все действующие идентификаторы карты хранятся в памяти EEPROM. ATMega168 имеет 512 байт памяти EEPROM. Каждая RFID-карта имеет 5-битный серийный номер и 1-битную контрольную сумму, которую мы можем использовать для проверки отсутствия ошибок при передаче между ID-20 и Arduino.
Действительные карты хранятся в EEPROM с использованием первого байта в качестве счетчика. Например, если есть 3 действительные карты, хранящиеся в EEPROM, первым байтом будет 3. EEPROM.read (0); = 3. Зная это и тот факт, что каждый идентификатор имеет длину 5 байтов, мы знаем, что 1-5 - это карта 1, 6-10 - карта 2, а 11-15 - карта 3. Мы можем создать цикл, который просматривает EEPROM. 5 байт за раз и пытается найти карту, которую считал считыватель.
Но как мы можем добавить новые карты в EEPROM после установки схемы ?? Я прочитал одну из имеющихся у меня RFID-карт и жестко запрограммировал ее как основную RFID-карту. Таким образом, даже если вся EEPROM будет стерта, мастер-карта все равно будет работать. Всякий раз, когда карта считывается, она сначала проверяет, является ли она Мастер-картой, если нет, то продолжает проверять, действительна это карта или нет. Если карта является мастер-картой, мы заставляем Arduino перейти в «режим программирования», где он мигает RGB и ждет, пока будет прочитан другой действительный тег. Следующий считываемый тег добавляется к следующему свободному месту в EEPROM, и счетчик увеличивается на 1, если карта еще не существует в памяти EEPROM. Затем считыватель возвращается в нормальный режим и ожидает чтения новой карты.
В настоящее время я не запрограммировал способ удаления карты, поскольку причиной удаления карты, скорее всего, будет ее потеря или кража. Поскольку это, скорее всего, будет использоваться с 1-10 людьми, проще всего было бы жестко запрограммировать карту Master Erase, которая стирает все карты из EEPROM, а затем повторно добавляет их все, что занимает всего несколько секунд. Я добавил код для очистки EEPROM, но еще не реализовал эту функцию..
Код прилагается в текстовом файле вместе с копией списка деталей.
Шаг 5: развернуть
Это лишь некоторые из интересных вещей, которые вы можете сделать с RFID. Вы можете значительно расширить это с помощью вывода на ЖК-дисплей, регистрации того, кто и когда входит, подключения к сети / твиттеру и т. Д. Я планирую сделать законченную версию этой схемы на печатной плате. Я никогда раньше не делал печатных плат, поэтому я все еще работаю над дизайном и компоновкой деталей. Как только я их завершу, я их тоже отправлю. Я призываю всех взять написанный мной код и изменить его, чтобы делать еще более крутые вещи!
Финалист конкурса Arduino
Рекомендуемые:
Электрический дверной замок со сканером отпечатков пальцев и считывателем RFID: 11 шагов (с изображениями)
Электрический дверной замок со сканером отпечатков пальцев и считывателем RFID: проект был разработан, чтобы избежать необходимости использовать ключи, для достижения нашей цели мы использовали оптический датчик отпечатков пальцев и Arduino. Однако есть люди, у которых неразборчивый отпечаток пальца, и датчик его не распознает. Затем подумал о
Электронный дверной замок RFID: 9 шагов
Электронный дверной замок с RFID-меткой: Сегодня я собираюсь научить вас, как я проектирую и изготавливаю "ULTIMATE ELECTRONIC DOOR LOCK" следуйте за мной в этом пошаговом руководстве, я объясню все детали и проблемы, которые у меня были во время строительства. Надеюсь, вам понравится! Как вы можете видеть в
Самодельный дверной замок для приложений: 5 шагов (с изображениями)
Самодельный дверной замок для приложения: в этом проекте я показываю, как простой замок / разблокировку дверного приложения для телефона может быть сделан из простых компонентов, и представляю удобное для пользователя приложение под названием Blynk. Я использую Wi-Fi-чип Wemos D1 Mini и Arduino IDE для создания кода. Вы можете использовать эту настройку, чтобы
Беспроводной дверной замок RFID с использованием Nodemcu: 9 шагов (с изображениями)
Беспроводной дверной замок RFID с использованием Nodemcu: --- Основная функция --- Этот проект был построен как часть класса сетевых коммуникаций в Universidade do Algarve в сотрудничестве с моим коллегой Луи Сантосом. Его основное предназначение - контролировать доступ к электрозамку по беспроводной сети
Дверной замок Bluetooth (Arduino): 10 шагов (с изображениями)
Bluetooth Door Lock (Arduino): недавно я пересмотрел Amazing SpiderMan, в одной сцене Питер Паркер запирает и отпирает свою дверь со своего стола с помощью пульта дистанционного управления. Когда я увидел это, я сразу захотел свою собственную дверь. Немного повозившись, у меня появилась рабочая модель. Вот как я это сделал