СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Устройство для контроля доступа с использованием RFID

Нажмите, чтобы узнать подробности

Устройство для контроля доступа с использованием RFID

Просмотр содержимого документа
«Устройство для контроля доступа с использованием RFID»




















Устройство контроля доступа по RFID меткам.













  Автор: Сайфутдинов Эдуард Ирекович МБОУ «Лянторская СОШ №6» Сургутский район г.Лянтор 
Научный руководитель: Инчин Александр Николаевич, учитель технологии МБОУ «Лянторская СОШ №6»















Сургутский район г.Лянтор

Введение.

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

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

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

Цель: в ходе работы над проектом получить готовое устройство, выполняющее функции контроля доступа и учета прихода и ухода работника.

Задачи:

  • Разработка устройства на доступных электронных компонентах, с использованием микроконтроллера;

  • Разработка алгоритма работы устройства

  • Разработка программного обеспечения на основе полученного алгоритма;

  • Сборка и проверка работоспособности устройства

Объектом для моей работы является изучение функционирования подобных систем, их устройства и реализации способов контроля доступа и фиксации времени.

Предметом исследования является функционирование и программирования микроконтроллеров, электронных компонентов систем контроля и их реализация.


Общие сведения о системах электронных контроля.

В физической безопасности термин «контроль доступа» относиться к практикам ограничения доступа к собственности, в здания или помещения, доступ к которым разрешён только для авторизованных людей. Физический контроль доступа может быть достигнут путём использования человека (охранник, служащий в приёмной), через механические способы, такие как замки и ключи на двери, или через технологические средства, такие как системы доступа, основанные на картах доступа или биометрическая идентификация.

В большинстве организаций, которые используют информационные системы для работы, на входе, если не в рабочее помещение, то в здание находится специально обученный человек с надписью «охрана» или «служба безопасности», который обычно требует предъявить пропуск тех, кто работает в этом здании и записывает в журнал всех, кто не работает в этом здании/помещении, но по каким-то деловым вопросам должен пройти внутрь

Система контроля доступа определяет то, кому разрешено входить или выходить, где им разрешено выходить или выходить, куда им разрешено выходить или выходить и когда им разрешено входить или выходить. В данном случае подразумеваем тех, у кого он есть. Точками контроля доступа могут быть двери, турникеты, ворота, шлагбаумы, места на парковке, лифты или другие физические преграды, где получение доступа может быть проконтролировано электроникой. Обычно точкой контроля доступа является дверь, а доступ контролируется магнитным замком и считывателем карт.

Для системы можно сформулировать следующие требования.

• Контроль доступа

• Учёт рабочего времени

• Повышение качества охраны

• Интеграция с текущей IT-инфраструктурой

• Исключение несанкционированного доступа к рабочим местам (АРМ).

• Разграниченный контроль для разных групп сотрудников

• Возможность аппаратного расширения функций устройства


Аппаратная реализация проекта.

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

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

На данный момент широко распространены микроконтроллеры PIC производства Microchip Technology Inc и AT MEGA производства Atmel. В обоих случаях гамма микропроцессоров очень большая, позволяем решать широкий спектр задач. Но на базе микропроцессоров AT MEGA существуют готовые решения, которые не дороги и отличаются хорошим набором функций и количеством интерфейсных разъемов. Решения на базе микропроцессоров AT MEGA называются ARDUINO, в проекте я буду использовать плату Arduino UNO R3 рисунок 1.

Рисунок 1. Общий вид платы.

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

В качестве идентификатора можно использовать различные метки или RFID. Данные метки могут быть выполнены в различном форм-факторе, я решил использовать в виде карточки рисунок 2, потому что на нее можно нанести наклейку с данными владельца.

Рисунок 2. Общий вид RFID карты.

Для того чтобы можно было считывать такие карточки для Arduino существует модуль расширения RC522 рисунок 3.

Рисунок 3. Общий вид модуля RC522.

Для выполнения моего проекта это минимальный набор компонентов чтобы построить устройство для считывания карт. В процессе наладки устройства будут добавляться компоненты для расширения функций устройства.

Практическая реализации проекта.

Реализацию проекта можно разделить на два этапа:

  • Сборка устройства (подключение модуля считывателя проверка соединений)

  • Написание программы для устройства

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

Считыватель поддерживает интерфейсы SPI, UART и I2C через которые происходит обмен данными с другими приборами. На плате модуля RFID RC522 установкой логических уровней на специальных выводах микросхемы выбран интерфейс SPI. С одним Arduino могут работать несколько приборов, подключенных к шине SPI.

Рассмотрим интерфейсный разъем (рисунок 4) считывателя и схему согласования с Arduino (рисунок 5).



Рисунок 4. Интерфейсный разъем RFID RC522

Где: SDA (SS, CS, NSS) выбор ведомого, вход SPI

SCK тактовый сигнал SPI, вход

MOSI передача от мастера к помощнику, вход SPI

MISO передача от помощника к мастеру, выход SPI

IRQ прерывание, выход

GND общий

RST сброс, вход

3.3 V питание

Рисунок 5. Схема согласования считывателя RFID RC522 с главным модулем Arduino.

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

RFID rc522

Arduino Mega

Arduino Uno и Nano v3

Arduino Leonardo и Micro

Arduino Pro Micro

CraftDuino

MISO

50

12

ICSP-1

14

12

MOSI

51

11

ICSP-4

16

11

SCK

52

13

ICSP-3

15

13

SDA

53


10



Таблица 1. Подключение RFID RC522 к различным типам контроллера Arduino.

На рисунке 6 представлена принципиальная схема подключения RFID RC522 к Arduino

Рисунок 6. Принципиальная схема подключения RFID RC522 к Arduino.

Подключаем обе платы в соответствии с принципиальной схемой. На этом первый этап работы над устройством закончен, переходим к программированию Arduino.

Работа над программой будет происходить в Arduino IDE, удобство данной среды программирования заключается в том, что есть множество библиотек для переферийных устройств в том числе и для RFID RC522. Программа будет написана с помощью применения этой библиотеки.

Далее листинг программы:

Считывание серийного номера карты:

#include

#include

#define SS_PIN 10

#define RST_PIN 9

RFID rfid(SS_PIN, RST_PIN);

int serNum0;

int serNum1;

int serNum2;

int serNum3;

int serNum4;

void setup()

{

Serial.begin(9600);

SPI.begin();

rfid.init();

}

void loop()

{

if (rfid.isCard()) {

if (rfid.readCardSerial()) { // Сравниваем номер карты с номером предыдущей карты

if (rfid.serNum[0] != serNum0

&& rfid.serNum[1] != serNum1

&& rfid.serNum[2] != serNum2

&& rfid.serNum[3] != serNum3

&& rfid.serNum[4] != serNum4 ) {

/* Если карта - новая, то считываем*/

Serial.println(" ");

Serial.println("Card found");

serNum0 = rfid.serNum[0];

serNum1 = rfid.serNum[1];

serNum2 = rfid.serNum[2];

serNum3 = rfid.serNum[3];

serNum4 = rfid.serNum[4];

//Выводим номер карты

Serial.println("Cardnumber:");

Serial.print("Dec: ");

Serial.print(rfid.serNum[0],DEC);

Serial.print(", ");

Serial.print(rfid.serNum[1],DEC);

Serial.print(", ");

Serial.print(rfid.serNum[2],DEC);

Serial.print(", ");

Serial.print(rfid.serNum[3],DEC);

Serial.print(", ");

Serial.print(rfid.serNum[4],DEC);

Serial.println(" ");

Serial.print("Hex: ");

Serial.print(rfid.serNum[0],HEX);

Serial.print(", ");

Serial.print(rfid.serNum[1],HEX);

Serial.print(", ");

Serial.print(rfid.serNum[2],HEX);

Serial.print(", ");

Serial.print(rfid.serNum[3],HEX);

Serial.print(", ");

Serial.print(rfid.serNum[4],HEX);

Serial.println(" ");

} else {

/* Если это уже считанная карта, просто выводим точку */

Serial.print(".");

} } }

rfid.halt(); }

В мониторе COM порта будут отображаться серийные номера карт.

Рисунок 6. Монитор СОМ порта.

Окончательный код программы для устройства где используется 2 светодиода и баззер.

/* buzzer, RGBLED и RFID-reader

#include // библиотека "RFID".

#define bazzer 5

#define SCK_PIN 13

#define SS_PIN 10

#define RST_PIN 9

#define PIN_CS 4

MFRC522 mfrc522(SS_PIN, RST_PIN);

unsigned long uidDec, uidDecTemp; // для храниения номера метки в десятичном формате

void setup() {

Serial.begin(9600);

if(!SD.begin(PIN_CS)){

Serial.println("SD-card not found"); return;

}

Serial.println("Waiting for card...");

SPI.begin(); // инициализация SPI / Init SPI bus.

mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card.

}

void loop() {

// Поиск новой метки

if ( ! mfrc522.PICC_IsNewCardPresent()) {

return;

}

// Выбор метки

if ( ! mfrc522.PICC_ReadCardSerial()) {

return;

}

uidDec = 0;

// Выдача серийного номера метки.

for (byte i = 0; i

{

uidDecTemp = mfrc522.uid.uidByte[i];

uidDec = uidDec * 256 + uidDecTemp;

}

Serial.println("Card UID: ");

Serial.println(uidDec); // Выводим UID метки в консоль.

if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает.

{

tone(5, 200, 500); // Делаем звуковой сигнал, Открытие

delay(3000); // пауза 3 сек и механизм запирается.

tone(5, 500, 500); // Делаем звуковой сигнал, Закрытие