Сделай сам Умный замок с Arduino и RFID
СДЕЛАЙ САМ

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

Вот как построить простой смарт-замок на основе RFID, используя Arduino в качестве основы и несколько дешевых компонентов

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

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

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

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

Считыватель MFRC522 может читать и записывать данные в микросхемы RC522 и сохраняет эти данные в EEPROM Arduino. Это отличное дополнение к любой системе DIY, особенно актуальное для любой базовой домашней системы безопасности. Его можно использовать вместе с системами сигнализации DIY или системами камер безопасности DIY

Вам понадобятся

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

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

    Начните с поиска библиотеки MFRC522 в менеджере библиотек вашей Arduino IDE и установите ее. В качестве альтернативы вы можете скачать библиотеку и установить ее вручную в папку libraries. Если вы совсем новичок в Arduino, вам может быть полезно это руководство по началу работы!

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

    Image Credit: Miguel Balboa via https://github.com/miguelbalboa/rfid.

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

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

    Если при считывании вы получаете ошибки, говорящие

    MIFARE_Read() failed: Timeoutincommunication

    , или

    PCD_Authenticate() failed: Timeoutincommunication

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

    Остальная часть схемы

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

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

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

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

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

    Когда схема собрана, пришло время настроить наш Arduino Sketch. Удобно, что библиотека MFRC522 поставляется с примером скетча под названием Access Control , который делает почти то же самое, что мы хотим сделать. Подключите Arduino к компьютеру и откройте File > Examples > MFRC522 > AccessControl в Arduino IDE

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

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

    //#define COMMON_ANODE

    Теперь сопоставьте выводы светодиодов с выводами, определенными в скетче

    defineredLed 3// Set Led Pins
    definegreenLed 4
    defineblueLed 2

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

    definerelay 5// Set MOSFET Pin

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

    intlockDelay=10000// lock stays open for 10 seconds.

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

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

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

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

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

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

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

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

    Все готово!

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

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

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

    Использовали ли вы RFID в своих домашних системах? Сообщите нам о своих проектах в разделе комментариев ниже!

    Image Credit: Annmarie Young via Shutterstock.com

    Об авторе

    Алексей Белоусов

    Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

    Комментировать

    Оставить комментарий