Технология RFID для закрытия/открытия замка

Технология RFID для закрытия/открытия замка Электроника

Технология RFID для закрытия/открытия замкаТехнология RFID для закрытия/открытия замкаRFID ( радиочастотная идентификация), используется во многих областях жизни современного общества. Самые простые примеры – это домофонные ключи, элемент противоугонной системы в автомобильных ключах или технология NFC в наших смартфонах.
Из данной статьи мы с вами узнаем, как использовать эту технологию для открытия/закрытия замка. В качестве привода запирающего устройства будет использоваться сервопривод, а некоторые детали будут напечатаны на 3D-принтере.
Инструменты и материалы:
-Arduino Uno;
-Перемычки;-Макетная плата;-Считыватель RFID MFRC522;-RFID-метка / карта;
-16 x 2 жидкокристаллический дисплей;
-Потенциометр;
-3D-принтер;
-Микро сервопривод;-Толкатель;Шаг первый: схема
Представленная на фото схема показывает подключение ЖК-дисплея и сервопривода Micro.
Считыватель RFID подключается следующим образом:
RFID – Arduino
3,3 В – 3,3 В
RST – 9
GND – GND на макете
IRQ не подключается
MISO – 12
MOSI – 11
SCK – 13
SDA – 10
Технология RFID для закрытия/открытия замкаТехнология RFID для закрытия/открытия замкаШаг второй: 3D-печать
Файлы для печати 3D-деталей для замка мастер использовал из различных источников.
Файл для печати лицевой панель ЖК-экрана можно скачать здесь.
RFID держатель печатается из этого файла.
Файл для печати замка можно скачать здесь.
При чем не обязательно использовать данные детали. Можно адаптировать имеющиеся в наличии предметы, включая замок.
Шаг третий: программирование
Для загрузки библиотеки, кода и просмотра идентификатора RFID-карт просматриваем видео ниже. Вместо Arduino IDE мастер использует Arduino create.

Следуя инструкциям видео, на мониторе последовательного порта после сканирования RFID- карты будет код вроде такого: 39 AA E3 B3. Это UID (идентификатор) RFID-карты.
Библиотеки в коде прописаны следующим образом:

#include <SPI.h>  #include <MFRC522.h>  #include <Servo.h>  #include <LiquidCrystal.h>

Ниже определение выводов для модуля RFID , выводов мини-сервопривода и выводов ЖК-дисплея.

#define SS_PIN 10  #define RST_PIN 9      #define SERVO_PIN 8  Servo myservo;      #define ACCESS_DELAY 2000  #define DENIED_DELAY 1000  MFRC522 mfrc522(SS_PIN, RST_PIN);// Create MFRC522 instance.  LiquidCrystal lcd(6,7,5,4,3,2);

Следующий фрагмент кода инициирует последовательную связь, шину SPI и MFRC522 ( модуль RFID ).
ЖК-дисплей включается, а затем начинает отображаться сетка (16,2), отображая надпись “Scan RFID Card” («Сканировать карту RFID»).
Мини-сервопривод перемещается на 75 градусов, в то время как последовательный монитор отображает “Put your

card to the reader." («Вставьте карту в считывающее устройство»).  void loop()   {    // Look for new cards    if ( ! mfrc522.PICC_IsNewCardPresent())     {      return;    }    // Select one of the cards    if ( ! mfrc522.PICC_ReadCardSerial())     {      return;    }    //Show UID on serial monitor    lcd.clear();    lcd.begin(16, 2);    lcd.print("UID tag :");    String content= "";    byte letter;    for (byte i = 0; i < mfrc522.uid.size; i++) 
  {       lcd.setCursor(0,1);       lcd.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");       lcd.print(mfrc522.uid.uidByte[i], HEX);       content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));       content.concat(String(mfrc522.uid.uidByte[i], HEX));    }    lcd.clear();    lcd.begin(16,2);    lcd.print("Message : ");    content.toUpperCase();
if (content.substring(1) == "39 AA E3 B3") //change here the UID of the card    {      lcd.clear();      lcd.setCursor(1,0);      lcd.print("Access Granted");     myservo.write( 158 ); // the degree the motor will be at     delay(7500); // how long the motor will stay at 158    myservo.write( 75 ); // goes back to 75 degrees    lcd.clear();    lcd.print("Scan RFID Card"); // says Scan RFID Card again    setup();

Следующие три фрагмента считывают идентификатор RFID – карты, и если значение верно, то доступ разрешается и сервопривод перемещается на значение 158. В таком положении он находится 7 с половиной секунд, а затем возвращается на 65 градусов и на дисплеи снова отображается «Сканировать карту RFID».

 }      else   {     lcd.clear();     lcd.setCursor(1,0);      lcd.print(" Access Denied");      delay(4000); // displays Access Denied for about 4 seconds      lcd.clear();      delay(DENIED_DELAY);      lcd.print("Scan RFID Card");      setup();        }  }

Последняя часть кода связана запретом доступа. Например, RFID- карта сканируется, но она не является идентифицированной. В этом случае, в течение примерно 4 секунд, отображается сообщение “Access Denied” («Доступ запрещен»), затем ЖК-дисплей очищается, появляется надпись «Сканировать RFID-карту», и весь процесс перезапускается.
Таким образом, этот код сканирует карту при отображении «Сканировать карту RFID». При сканировании неправильной карты, в течение примерно 4 секунд, отображаются слова «Доступ запрещен», и сервопривод не приходит в движение. Если карта идентифицирована, сервопривод поворачивается на определенное количество градусов, чтобы разблокировать замок примерно на 7 секунд. При этом на экране будет отображаться надпись «Доступ разрешен». Затем замок снова заблокируется.
Шаг четвертый: прототип
Для демонстрации работы запорного устройства мастер собирает его на макете двери.
На лицевой стороне устанавливаются дисплей и считыватель, с обратной стороны вся остальная электроника.
Технология RFID для закрытия/открытия замкаТехнология RFID для закрытия/открытия замкаТехнология RFID для закрытия/открытия замкаТехнология RFID для закрытия/открытия замкаТехнология RFID для закрытия/открытия замкаПосле сборки мастер проверил работу устройства. Все работает и можно адаптировать проект для конкретных целей.

Оцените статью
Добавить комментарий