РФИД је скраћеница од Идентификација радио фреквенција. РФИД модул може читати или писати малу количину података у пасивну РФИД ознаку, која се може користити у процесу идентификације у различитим системима као што су Аттенданце систем, сигурносни систем, систем за гласање итд. РФИД је врло згодна и лака технологија.
Да бисмо читали пасивне РФИД картице и ознаке, потребан нам је микроконтролер са УАРТ хардвером. Ако одаберемо микроконтролер без УАРТ-а, треба да имплементирамо софтвер УАРТ. Овде користимо ПИЦ микроконтролер ПИЦ16Ф877А за повезивање РФИД-а. Једноставно ћемо прочитати јединствени идентификациони број. РФИД ознака и прикажите га на ЛЦД-у 16к2.
РФИД модул и његов рад
У овом пројекту смо изабрали ЕМ-18 РФИД модул, који је мали, јефтин и енергетски ефикасан модул. ЕМ-18 РФИД модул користи 125 КХз РФ фреквенцију за читање пасивних 125 КХз РФИД тагова. Модул ЕМ-18 користи осцилатор, демодулатор и декодер података за читање података са пасивне картице.
РФИД ознака
Доступне су три врсте РФИД ознака, пасивна, активна или пасивна уз помоћ батерије. На тржишту су доступне различите врсте РФИД ознака различитих врста и величина. Мало њих користи различите фреквенције у сврху комуникације. Користићемо пасивне РФИД картице од 125 кХз које садрже јединствене ИД податке. Ево РФИД картице и ознака које користимо за овај пројекат.
Рад РФИД-а
Ако видимо таблицу података (хттп://ввв.алселецтро.цом/филес/рфид-ттл-ем18.пдф) ЕМ-18 модула, могли бисмо видети задњу страну модула и апликационо коло:
Модул користи УАРТ комуникацијски протокол брзином од 9600 Бауд. Када се ваљана ознака фреквенције унесе у магнетно поље читача ЕМ-18, транзистор БЦ557 се укључује и зујалица ће почети да оглашава, а такође ће упалити ЛЕД. Користимо модул који је лако доступан на тржишту и има комплетна кола са зујалицом, лед и додатним РС232 портом.
Овде је РФИД модул плоче који користимо са именима пинова. Овај модул такође има додатну опцију напајања.
Треба имати на уму да излаз читача ЕМ-18 користи логички ниво 5В. Могли бисмо да користимо други микроконтролер који користи нижи логички ниво, али у таквим случајевима потребан је додатни претварач логичког нивоа. У неколико случајева, УАРТ пин на 3.3В микроконтролеру је често толерантан на 5В.
Излаз УАРТ пружа 12-битне АСЦИИ податке. Првих 10 битова је број РФИД ознаке, што је јединствени ИД, а последње две цифре користе се за тестирање грешака. Те две последње цифре су КСОР броја ознаке. Модул ЕМ-18 чита податке са 125 КХз пасивних РФИД ознака или картица.
Те ознаке или ИД имају фабрички програмирани низ меморије који чува јединствени ИД број. Како су оне пасивне, тако да на картици или ознакама нема батерије, напаја их магнетно поље РФ примопредајног модула. Ове РФИД ознаке направљене су помоћу ЕМ4102 ЦМОС ИЦ која је такође тактисана магнетним пољем.
Потребан материјал
За израду овог пројекта потребни су нам следећи предмети-
- ПИЦ16Ф877А
- Кристал од 20 МХз
- 2ком 33пФ керамички кондензатор диска
- ЛЦД са 16к2 карактера
- Плоча за хлеб
- 10к унапред подешени лонац
- Отпорник 4.7к
- Једножичне жице за повезивање
- Адаптер од 5В
- РФ модул ЕМ-18
- Зујалица 5В
- Кондензатор 100уФ &.1уФ 12В
- БЦ557 Транзистор
- ЛЕД
- Отпорник 2.2к и 470Р.
Користимо плочу модула ЕМ-18 са зујалицом и унапред конфигурисаном лед лампицом. Дакле, компоненте наведене од 11 до 15 нису потребне.
Кружни дијаграм
Шема је једноставна; повезали смо ЛЦД преко порта РБ и повезали ЕМ-18 модул преко УАРТ Рк пина.
Повезали смо плочу на плочи према схеми.
Објашњење кода
Као и увек, прво морамо да поставимо конфигурационе битове у микроконтролеру пиц, дефинишемо неке макронаредбе, укључујући библиотеке и фреквенцију кристала. Можете проверити код свих оних у комплетном коду датом на крају.
// ПИЦ16Ф877А конфигурације Бит Поставке // цонфиг изјаве извор линија 'Ц' // КОНФИГ # Прагма конфиг ФОСЦ = Хс // осцилатор за избор бита (силвер осцилатор) # Прагма конфиг ВДТЕ = ОН // Данние тајмер Укључи мало (ВДТ инвалидитетом) # прагма цонфиг ПВРТЕ = ОФФ // Бит за укључивање тајмера за укључивање (ПВРТ онемогућен) #прагма цонфиг БОРЕН = ОН // Бров-оут Ресетовање Омогућити бит (омогућен БОР) #прагма цонфиг ЛВП = ОФФ // Нисконапонски (појединачно напајање)) Бит за омогућавање серијског програмирања у кругу (пин РБ3 / ПГМ има ПГМ функцију; омогућено је програмирање ниског напона) #прагма цонфиг ЦПД = ОФФ // Бит ЕЕПРОМ меморијског кода за заштиту (заштита података ЕЕПРОМ кода искључена) #прагма цонфиг ВРТ = ОФФ // Фласх програмирање меморије бита Омогућавање битова (искључена заштита; сва програмска меморија може бити уписана помоћу ЕЕЦОН контроле) #прагма цонфиг ЦП = ОФФ // Фласх програм Фласх бит заштите кода (заштита кода искључена) # укључују "суппоринг_цфиле \ лцд.х" #инцлуде "суппоринг_цфиле \ еусарт1.х"
Ако видимо главну функцију назвали смо функцију за иницијализацију система. У овој функцији иницијализујемо ЛЦД и УАРТ.
/ * Ова функција је за иницијализацију система. * / воид систем_инит (воид) { ТРИСБ = 0к00; // ПОРТ Б постављен као излазни пин лцд_инит (); // Ово ће покренути лцд ЕУСАРТ1_Инитиализе (); // Ово ће покренути Еусарт }
Сада смо у главној функцији користили 13-битни низ који је РФИД број. Примамо сваки бит РФИД-а бр. користећи ЕУСАРТ1_Реад (); функција, која је декларисана унутар УАРТ библиотеке. Након пријема 12 бита, на ЛЦД-у исписујемо низ као низ.
воид маин (воид) { непотписан знак броја; непотписани знак РФ_ИД; систем_инит (); лцд_цом (0к80); лцд_путс ("Цирцуит Дигест"); вхиле (1) { фор (цоунт = 0; цоунт <12; цоунт ++) { РФ_ИД = 0; РФ_ИД = ЕУСАРТ1_Реад (); } лцд_цом (0кЦ0); // Постављање курсора за почетак другог реда лцд_путс ("ИД:"); лцд_путс (РФ_ИД); } }
Комплетна шифра са демонстрацијским видеом дата је у наставку.
Такође проверите повезивање РФИД-а са другим микроконтролером:
РФИД повезивање са лансирном плочом МСП430
РФИД повезивање са микроконтролером 8051
РФИД повезивање са Ардуином