Сделай сам умный замок с Arduino и RFID

Вы подходите к невидимому замку, ключ к которому есть только у вас, и открываете его, даже не касаясь его. Звучит круто? Сегодня мы собираемся создать простую интеллектуальную блокировку на основе RFID с использованием Arduino в качестве основы и нескольких дешевых компонентов.

Технологии этого проекта уже используются во многих отраслях. Любой, кто работал в современном офисе или пользовался общественным транспортом, вероятно, использовал бы его каждый день. RFID (радиочастотная идентификация) идентифицирует данные, хранящиеся на чипе в карте или ключе, и сравнивает их со списком тегов, которые уже были отсканированы.

Мы создадим тестовую схему для контроля доступа с использованием модуля считывателя Mifare MFRC522, чтобы открывать и закрывать замок. Мы будем использовать основную карточку-ключ для добавления или удаления доступа к различным тегам, а также создадим простое светодиодное отображение, чтобы сообщить нам, что происходит в системе.

Наконец, мы добавим соленоид в качестве замка и полевой МОП-транзистор для безопасного включения и выключения с помощью нашего Arduino.

Считыватель MFRC522 может считывать и записывать данные в микросхемы RC522 и сохранять эти данные в EEPROM Arduino.

, Это было бы отличным дополнением к любой домашней установке и особенно актуально для любой базовой домашней системы безопасности. Может использоваться вместе с системами сигнализации DIY

или DIY камера слежения

системы.

Тебе понадобится

  • Arduino. Мы использовали Uno, хотя на любой плате Arduino

    или клона хватит.

  • 3 х 220 Ом резисторы
  • 1 х 10 кОм резистор
  • Логический уровень N канала Мосфет
  • Модуль MFRC522 как минимум с двумя картами / фобами для чтения. Большинство из них поставляются с одним из них и могут быть куплены менее чем за 2 доллара, но, вероятно, у вас уже есть один в вашем кошельке в виде общественной проездной.
  • Красный, синий и зеленый светодиоды
  • 12v соленоид ($ 2)
  • 12 В блок питания
  • Макет и подключить провода

Модуль MFRC522

Звездой этой установки является дешевый модуль MFRC522, который поставляется с картой и брелком, содержащим s50 чип, каждый из которых хранит свой уникальный постоянный идентификационный номер (UID). Они оба функционально идентичны, просто в разной форме.

модуль и карта

Начните с поиска MFRC522 библиотека в диспетчере библиотек вашей Arduino IDE и установите ее. Кроме того, вы можете скачать библиотеку и установить ее вручную в папку библиотеки. Если вы новичок в Arduino, вы можете найти этот учебник для начинающих

полезно!

Библиотека также содержит диаграмму Fritzing, которую я аннотировал, показывая, как прикрепить модуль к вашему Arduino.

Arduino RFID Распиновка проводкиИзображение предоставлено: Мигель Бальбоа через Github

Будьте осторожны: эта плата работает от напряжения 3,3 В, а не от 5 В, поэтому постарайтесь подключить ее к правому контакту.

Чтобы проверить настройки, откройте DumpInfo эскиз от Файл> Примеры> MFRC522> DumpInfo и загрузите его на свою доску Arduino. Откройте последовательный монитор и поднесите один из ваших объектов RFID к считывателю. Вы должны увидеть что-то вроде этого:

серийный вывод информации о дампе

Если вы получаете ошибки в прочитанном высказывании Сбой MIFARE_Read (): время ожидания при обмене данными, или же Сбой PCD_Authenticate (): время ожидания для связи, не беспокойся Это, вероятно, означает, что вы не держали метку в считывателе достаточно долго, чтобы прочитать все данные. Пока вы получаете UID карты (который читается, как только тег находится в пределах досягаемости считывателя), он будет работать с этим проектом. Если вы вообще не читаете, проверьте проводку и попробуйте снова.

Остальная часть трассы

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

фризирование схемы полной настройки

  • Наш источник питания 12 В (пока что не подключен) подключается к направляющим нашего макета. Подключите вывод заземления Arduino и вывод заземления MFRC522 к шине заземления.
  • Светодиоды подключены к контактам 2, 3 и 4 и к шине заземления через резисторы 220 Ом.
  • Стержень затвора нашего MOSFET (слева на изображении) подключается к контакту 5 и заземляется через резистор 10 кОм. Сливная ветвь (средняя) соединяется с отрицательной клеммой нашего 12-вольтового соленоида, а истоковая ветвь (справа) соединяется с заземляющей шиной.
  • Подсоедините положительный вывод соленоида 12 В и VIN Arduino к шине 12 В на макете.

При такой настройке всякий раз, когда мы посылаем сигнал HIGH от Arduino на MOSFET, он пропускает ток на соленоид. Ничто не мешает вам использовать более мощный или более мощный соленоид, хотя вам понадобится понижающий трансформатор для питания Arduino от напряжения выше 12В. Также обратите пристальное внимание на таблицу данных для вашего MOSFET, чтобы убедиться, что вы не будете перегружать его.

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

схема расположения

Хотя в этом нет необходимости, я создал небольшую оснастку для имитации дверного замка из металлолома.

Модификация эскиза

С созданной схемой, пришло время настроить наш Arduino Sketch. Для удобства библиотека MFRC522 поставляется с примером эскиза, который называется Контроль доступа это делает почти точно то, что мы хотим сделать. Подключите Arduino к компьютеру и откройте Файл> Примеры> MFRC522> AccessControl в Arduino IDE.

Обширная информация представлена ​​как в примере эскиза, так и на странице GitHub для библиотеки. Нам нужно всего лишь изменить несколько строк. Кроме того, вы можете скачать наш модифицированный код из этого GitHub Gist.

Во-первых, эскиз был разработан для схемы с одним светодиодом RGB, использующим общий анод. Мы не будем использовать это, поэтому просто закомментируйте этот раздел.

//#define COMMON_ANODE

Теперь совместите наши светодиодные контакты с теми, которые указаны на эскизе.

#define redLed 3    // Set Led Pins
#define greenLed 4
#define blueLed 2

Нам нужно изменить контакт реле (хотя мы используем MOSFET в этом случае), чтобы соответствовать нашей установке.

#define relay 5  // Set MOSFET Pin

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

int lockDelay=10000; // lock stays open for 10 seconds.

Нам нужно только сделать еще одно изменение. Прямо в нижней части петля метод, похороненный в операторе if, является вызовом метода предоставляется (300). Нам нужно изменить это так, чтобы он использовал наши lockDelay переменная.

granted(lockDelay); // Open the door lock for lockDelay duration

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

Это оно! Ваш главный ключ все настроен. Отключите плату Arduino от компьютера. Детали вашего мастер-ключа будут сохранены в EEPROM Arduino даже после выключения питания.

Тестирование полной настройки

Последний раз быстро осмотрите проводку, чтобы убедиться, что все на месте, и подключите источник питания 12 В. На этом этапе стоит упомянуть, что вам следует опасаться рабочего цикла вашего соленоида. Дешевый соленоид, который я использую для этого теста, не имеет 100-процентного рабочего цикла, поэтому его не следует оставлять в заблокированном положении на длительные периоды времени. Чтобы сделать это в постоянной настройке, используйте соленоид 100-процентного рабочего цикла. Еще лучше было бы нормально закрытый (NC) соленоид, который остается заблокированным, когда он не запитан. Это также означает, что любой, кто хочет обойти систему, не может просто отключить ее!

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

Теперь, когда вы держите карту или брелок с доступом к считывающему устройству, он должен вспыхнуть зеленым и открыть замок. Если он мигает красным, доступ запрещен!

RFID Arduino открытый замок

Все сделано!

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

Вы можете встроить весь механизм в коробку и использовать соленоид для его блокировки. Заполните поле куки и используйте свой мастер-ключ, чтобы решить, кто имеет доступ, а кто нет. Станьте мастером печенья!

Вы можете полностью отказаться от соленоида и установить на его место светодиодную ленту, а также активировать радиочастотную подсветку. Вы можете использовать те же идеи для отображения данных, таких как пароль Wi-Fi, на маленьком экране, когда к считывателю прикреплена карта или брелок с доступом.

Вы использовали RFID в своих домашних условиях? Дайте нам знать о ваших проектах в разделе комментариев ниже!

Изображение предоставлено: Annmarie Young через Shutterstock.com

Ссылка на основную публикацию
Adblock
detector