Подключение модуля чтения радиочастотных меток EM-18 к микроконтроллеру PIC


Радиочастотная идентификация (Radio Frequency Identification, RFID) применяется во многих областях современной жизни: в системах безопасности, контроля доступа и т.п. С помощью модуля радиочастотной идентификации (RFID module) мы можем записывать или считывать небольшое количество данных из пассивной радиочастотной метки/карты (Passive RFID tag).

Внешний вид подключения модуля чтения радиочастотных меток EM-18 к микроконтроллеру PIC

Для чтения информации с радиочастотных меток нам будет необходим микроконтроллер с последовательным портом связи (UART). В данном проекте для этой цели мы будем использовать микроконтроллер PIC16F877A. Считываемый им номер радиочастотной метки мы будем отображать на экране ЖК дисплея 16x2.

Также на нашем сайте мы рассматривали подключение модуля чтения радиочастотных меток EM-18 к другим микроконтроллерам (платам):

Принцип работы модуля радиочастотной идентификации EM-18

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

Радиочастотные метки

Существует три типа радиочастотных меток/карт (RFID tags): пассивные, активные и пассивные с батарейкой. Они выпускаются различных форм и размеров. В нашем проекте мы будем использовать радиочастотные карты, работающие на частоте 125 кГц (их внешний вид представлен на рисунке), но есть радиочастотные карты использующие другие частоты.

Внешний вид радиочастотных меток/карт

Принцип работы модуля

В даташите на модуль EM-18, размещенный по адресу http://www.alselectro.com/files/rfid-ttl-em18.pdf, мы можем увидеть внешний вид обратной стороны модуля и схему его подключения.

Внешний вид обратной стороны модуля EM-18 и схема его подключения

Модуль EM-18 для обмена данными с другими устройствами использует протокол последовательной связи (UART) со скоростью 9600 бод. Когда к модулю подносят метку/карту с "правильным" номером на транзистор BC557 подается отпирающее напряжение и зуммер начинает издавать звуковой сигнал. В нашем проекте мы будем использовать модуль EM-18, который имеет в своем составе зуммер, светодиод и дополнительный порт RS232. Его внешний вид показан на следующем рисунке.

Внешний вид используемого нами модуля EM-18

Данные на выход последовательного порта связи (UART) модуля EM-18 поступают в 12-битном формате ASCII. Первые 10 бит из этих 12-ти содержат номер радиочастотной метки (RFID tag number), а остальные 2 бита используются для обнаружения и коррекции ошибок. Фактически эти 2 бита представляют собой результат операции XOR от номера метки (10 бит). Модуль EM-18 считывает этот номер на частоте 125 кГц с радиочастотной метки/карты.

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

Необходимые компоненты

  1. Микроконтроллер PIC16F877A (купить на AliExpress).
  2. Модуль чтения радиочастотных меток EM-18 (купить на AliExpress).
  3. Программатор PICkit 3 (купить на AliExpress).
  4. ЖК дисплей 16х2 (купить на AliExpress).
  5. Кварцевый генератор 20 МГц (купить на AliExpress).
  6. Конденсаторы 33 пФ (2шт.) (купить на AliExpress).
  7. Конденсаторы 100 мкФ и 1 мкФ на 12V (купить на AliExpress).
  8. Резисторы 4,7 кОм, 2,2 кОм, 470 Ом (купить на AliExpress).
  9. Потенциометр 10 кОм (купить на AliExpress).
  10. Зуммер (купить на AliExpress).
  11. Транзистор BC557 (купить на AliExpress).
  12. Светодиод (купить на AliExpress).
  13. Адаптер питания 5V.
  14. Макетная плата.
  15. Соединительные провода.

Схема проекта

Схема подключения модуля чтения радиочастотных меток EM-18 к микроконтроллеру PIC представлена на следующем рисунке.

Схема подключения модуля чтения радиочастотных меток EM-18 к микроконтроллеру PICКак видите, схема достаточно проста – мы всего лишь подключили ЖК дисплей 16х2 к port RB микроконтроллера PIC, а выход модуля EM-18 – к приемному контакту (Rx) последовательного порта связи (UART) микроконтроллера.

Внешний вид собранной конструкции проекта показан на следующем рисунке.

Внешний вид собранной конструкции проекта

Объяснение программы для микроконтроллера PIC

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

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

Затем запрограммируем функцию для инициализации системы. В ней мы будем инициализировать ЖК дисплей и последовательный порт микроконтроллера.

Далее в функции main мы будем использовать 13-битный массив, в котором будем хранить номер радиочастотной метки. Мы будем последовательно принимать каждый бит этого номера с помощью функции  EUSART1_Read(), код которой содержится в библиотеке для работы с UART. После того как мы примем 12 бит, мы будем выводить массив этих бит в виде строки на экран ЖК дисплея.

Исходный код программы

Видео, демонстрирующее работу проекта

(Проголосуй первым!)
Загрузка...
27 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован.