- Компоненте које се користе:
- Објашњење:
- Опис кола:
- Инсталирање вирингПи библиотеке у Распберри Пи:
- Објашњење програмирања:
Раније смо користили РФИД у многим нашим РФИД пројектима и већ смо изградили РФИД систем присуства користећи 8051, овде ћемо изградити РФИД заснован систем присуства користећи Распберри Пи.
У овом пројекту заснованом на РФИД-у, објаснићемо вам како можемо да ауторизујемо и рачунамо присуство аутоматски помоћу РФИД картица. РФИД технологија (идентификација и откривање радио фреквенција) се обично користи у школама, колеџима, канцеларијама и станицама у различите сврхе за аутоматско праћење људи. Овде ћемо рачунати присуство овлашћеног лица коришћењем РФИД-а.
Ако нисте упознати са Распберри Пи, створили смо низ упутстава и пројеката Распберри Пи, са повезивањем свих основних компоненти и неколико једноставних пројеката за почетак, проверите.
Компоненте које се користе:
- Распберри Пи (са подигнутом СД картицом)
- Тастер
- Зујалица
- ЛЦД 16к2
- 10к пот
- 10К отпорник
- ЛЕД
- 1к отпорник
- Даска за хлеб
- РФИД читач
- Снага 5 волти
- РФИД ознаке или картице
- Етернет кабал
- Повезивање жица
РФИД читач и ознаке:
РФИД је електронички уређај који има два дела - један је РФИД читач, а други РФИД ознака или картица. Када РФИД ознаку поставимо близу РФИД читача, он чита податке ознаке серијски. РФИД ознака има 12-цифрени код у завојници. Овај РФИД ради на брзини преноса од 9600 бпс. РФИД користи електромагнет за пренос података из читача у ознаку или ознаке у читач.
Објашњење:
Овде Распберри Пи 3 контролише цео процес овог пројекта (корисник може да користи било коју плочу Распберри Пи). РФИД читач чита РФИД ИД картицу, Распберри Пи прима податке путем УАРТ-а, а затим РПи валидира картицу и приказује резултате на ЛЦД екрану.
Када особа стави своју РФИД ознаку близу РФИД читача за скенирање, РФИД чита податке ознаке и шаље их Распберри Пи. Затим Распберри Пи чита јединствени идентификациони број те РФИД ознаке, а затим их упоређује са унапред дефинисаним подацима или информацијама. Ако се подаци подударају са унапред дефинисаним подацима, Распберри Пи повећава присуство особе ознаке за један, а ако се подударање не подудара, тада микроконтролер приказује поруку „Инвалид Цард“ (Неважећа картица) на ЛЦД-у, а зујало звучи неко време непрекидно. А овде смо додали и тастер да видимо укупан бр. похађања свих ученика. Овде смо узели 4 РФИД ознаке у којима се три користе за евидентирање похађања три ученика, а један се користи као неважећа картица.
Опис кола:
Дијаграм кола за овај пројекат система присуства на Распберри Пи је врло једноставан, који садржи Распберри Пи 3, РФИД читач, РФИД ознаке, зујалицу, ЛЕД и ЛЦД. Овде Распберри Пи контролише комплетан процес попут читања података који долазе из читача, упоређивање података са унапред дефинисаним подацима, зујање зујања, ЛЕД ЛЕД стања и слање статуса на ЛЦД екран. РФИД читач се користи за читање РФИД ознака. Зујалица се користи за индикације и покреће је уграђени НПН транзистор. ЛЦД се користи за приказ статуса или порука на њему.
Везе су једноставне. ЛЦД је повезан са Распберри Пи у 4-битном режиму. Пин за РС, РВ и ЕН ЛЦД-а је директно повезан на вирингПи ГПИО 11, гнд и 10. А пин за податке повезан је на вирингПи ГПИО 6, 5, 4 и 1. Потисак од 10К користи се за подешавање контраста или осветљености ЛЦД-а. Зујалица је повезана на ожичењеПи ГПИО пин 7 у односу на масу. Три ЛЕД диоде повезане су за индикацију ученика одговарајућом РФИД картицом. А једна ЛЕД се користи да покаже да је систем спреман за скенирање РФИД картице. Тастер је такође повезан на вирингПи ГПИО пин 12 за приказ броја присутности. Читач РФИД-а повезан је на УАРТ пин (ожичење ГПИО пин 16).
Инсталирање вирингПи библиотеке у Распберри Пи:
Као и у Питхону, увозимо РПи.ГПИО као ИО датотеку заглавља да бисмо користили ГПИО Пинове Распберри Пи-а, овде на језику Ц морамо да користимо вирингПи Либрари да бисмо користили ГПИО Пинове у нашем Ц програму. Можемо га инсталирати користећи доле наведене команде, ову команду можете покренути из терминала или са неког ССХ клијента попут Путти-а (ако користите Виндовс). Прођите кроз наш водич за почетак рада са Распберри Пи да бисте сазнали више о руковању Распберри Пи.
судо апт-гет инсталирање гит-цоре судо апт-гет упдате судо апт-гет надоградња гит цлоне гит: //гит.дрогон.нет/вирингПи цд вирингПи гит пулл оригин цд вирингПи./буилд
Тестирајте инсталацију вирингПи библиотеке, користите наредбе испод:
гпио -в гпио читав
Објашњење програмирања:
Сада смо прво укључили неке библиотеке и дефинисали пинове које треба да користимо у овом коду.
#инцлуде
Након њега дефинишите неке променљиве и низ за израчунавање и сачувајте вредности и низове.
инт сп; инт цоунт1 = 0, цоунт2 = 0, цоунт3 = 0; цхар цх; цхар рфид; инт и = 0; цхар темп;
Тада су написане функције за извршавање целог процеса. Неки од њих дати су у наставку:
Дата воид функција лцдцмд користи се за слање наредби на ЛЦД
воид лцдцмд (непотписан инт цх) {инт темп = 0к80; дигиталВрите (Д4, темп & цх << 3); дигиталВрите (Д5, темп & цх << 2); дигиталВрите (Д6, темп & цх << 1); дигиталВрите (Д7, темп & цх); дигиталВрите (РС, ЛОВ); дигиталВрите (ЕН, ХИГХ);……………..
Дата функција воид врите се користи за слање података на ЛЦД.
воид врите (унсигнед инт цх) {инт темп = 0к80; дигиталВрите (Д4, темп & цх << 3); дигиталВрите (Д5, темп & цх << 2); дигиталВрите (Д6, темп & цх << 1); дигиталВрите (Д7, темп & цх); дигиталВрите (РС, ХИГХ); дигиталВрите (ЕН, ХИГХ);……………..
Дата функција воид цлеар () користи се за брисање ЛЦД-а, воид сетЦурсор се користи за подешавање положаја курсора и воид исписа за слање низа на ЛЦД.
воид цлеар () {лцдцмд (0к01); } воид сетЦурсор (инт к, инт и) {инт сет = 0; иф (и == 0) сет = 128 + к; иф (и == 1) сет = 192 + к; лцдцмд (сет); } воид принт (цхар * стр) {вхиле (* стр) {врите (* стр); стр ++; }}
функција воид старт користи се за иницијализацију ЛЦД-а у 4-битном режиму.
воид бегин (инт к, инт и) {лцдцмд (0к02); лцдцмд (0к28); лцдцмд (0к06); лцдцмд (0к0е); лцдцмд (0к01); }
функције воид зујалица () и воид ваит () се користе за звучни сигнал и за чекање за поновно постављање картице. Функција воид сериалбегин користи се за иницијализацију серијске комуникације.
воид зујалица () {дигиталВрите (зујање, ВИСОКО); кашњење (1000); дигиталВрите (зујање, ЛОВ); } воид ваит () {дигиталВрите (лед5, ЛОВ); кашњење (3000); } воид сериалбегин (инт бауд) {иф ((сп = сериалОпен ("/ дев / ттиС0", бауд)) <0) {цлеар (); принт ("Није могуће отворити"); сетЦурсор (0,1); принт ("серијски порт"); }}
У функцији воид сетуп () покрећемо све ГПИО-ове, ЛЦД и серијски УАРТ.
воид сетуп () {иф (вирингПиСетуп () == -1) {цлеар (); принт ("Није могуће покренути"); сетЦурсор (0,1); принт ("вирингПи"); } пинМоде (лед1, ИЗЛАЗ); пинМоде (лед2, ИЗЛАЗ);……………………
Дата воид гет_цард () Функција се користи за добијање података из РФИД читача.
У воид маин () функцији, приказали смо неке поруке на ЛЦД-у и упоредили смо податке ознаке са унапред дефинисаним подацима да бисмо потврдили картицу са доњим кодом.
……………… иф (стрнцмп (рфид, "0900711Б6003", 12) == 0) {цоунт1 ++; јасно(); принт ("Придружено регистровано"); сетЦурсор (0,1); принт ("Студнет 1"); дигиталВрите (лед1, ВИСОКО); зујалица (); дигиталВрите (лед1, ЛОВ); чекати(); } елсе иф (стрнцмп (рфид, "090070ФЕ6ЕЕ9", 12) == 0) {цоунт2 ++; јасно(); принт ("Придружено регистровано"); сетЦурсор (0,1);………………
Коначно воид цхецк_буттон () функција се користи за приказ укупног присуства притиском на дугме.
воид цхецк_буттон () {иф (дигиталРеад (ин1) == 0) {дигиталВрите (лед5, ЛОВ); јасно(); сетЦурсор (0,0); испис ("стд1 стд2 стд3");……………..
Проверите пуни код за овај систем присуства на Распберри Пи у наставку.