Мазмұны:
- 1 -қадам: тауарды алыңыз
- 2 -қадам: бөлшектерді қосыңыз
- 3 -қадам: кодты жазыңыз
- 4 -қадам: код және қоштасу
Бейне: UR коды бар AVR/Arduino RFID оқу құралы: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:28
RFID - бұл барлық жерде - түгендеу жүйесінен таным белгісінің жүйесіне дейін кездесетін ақылсыздық. Егер сіз әмбебап дүкенде болсаңыз және кіру/шығу нүктелерінде металл іздейтін заттарды аралап көрген болсаңыз, онда сіз RFID-ті көрдіңіз. RFID орнату туралы жақсы ақпаратты табуға болатын бірнеше орын бар және бұл нұсқаулық параллакс RFID оқу құралын (Serial TTL) AVR -ге орнатуға бағытталған, бұл ретте сериялық кірісті оқу үшін қажет C кодына баса назар аударылады. Код С -да және ешқандай сыртқы кітапханаларды пайдаланбайды. Шын мәнінде, UART қолданбай, RFID оқырманының жіберу жылдамдығына синхрондау және ол қосылған цифрлық түйреуішті оқу арқылы 2400 бауд туралы тікелей сөйлейді. Көңілді ме? Мен де.
1 -қадам: тауарды алыңыз
Сізге келесі бөліктер тізімі қажет:
- RFID оқу құралы (Параллакс № 28140 $ 39.99)
- RFID тегі (Parallax #32397 $ 0.99)
- AVR немесе Arduino клоны (егер сіз AVR қорын қолдансаңыз, сізге max232, 5 x 1uF конденсаторлар мен DE9 қосқышы қажет)
- Дәнекерленбеген нан тақтасы
Қосымша
- 4 позиция тақырыбы
- Сым
(және тегтер туралы ақпаратты жіберу үшін max232 және т.б.) Сіз RS232 арқылы тегтік деректерді жіберудің орнына сүйікті СКД экранды қоса аласыз.
2 -қадам: бөлшектерді қосыңыз
Заттардың аппараттық жағы өте оңай. RFID оқу құралын тікелей тақтаға салудың орнына мен RFID оқу құралын сәл жақсырақ жылжыту үшін тез кабельді таңдадым. Ол үшін мен жай ғана жатқан және үш сымға дәнекерленген аналық розеткадан 4 позицияны қысқарттым. Электрлік таспа гетто коннекторын аяқтады. RFID оқу құрылғысында 4 байланыс бар:
- Vcc
- ҚОСУ
- ШЫҚТЫ
- Gnd
Сіз болжаған боларсыз, Vcc -ты +5V -ге, ал Gnd -ді жерге қосыңыз. RFID оқу құралы өте көп энергияны тұтынатындықтан, оны әр түрлі уақытта өшіру және қосу үшін ENABLE түйреуішін жаруға болады. Мен оны жалғастыруды таңдадым. Ол төңкерілгендіктен, оны іске қосу үшін ТӨМЕН тартыңыз. Немесе оны жерге қосуға болады. Мен PIND3 -ке қосылдым, егер мен шешкен болсам, қосу/өшіру опцияларын беремін. OUT пині - бұл оқырман тегті оқығаннан кейін сериялық деректерді жіберетін жер. Мен оны PIND2 -ге қостым. Ескертпе, Параллакс Ғаламында қызыл түс жүруді білдіреді. Яғни, жасыл жарық диоды құрылғының белсенді емес екенін көрсетеді, ал қызыл жарық диоды құрылғының белсенді екенін білдіреді. * иығын көтеру* Фигураға өту.
3 -қадам: кодты жазыңыз
Деректерді RFID оқу құралынан оқу үшін сіз тегтің жіберілгенін білуіңіз керек, деректерді сериялық порттан алып тастаңыз, содан кейін оны бір жерге жіберіңіз.
RFID оқу құралының деректер пішімі
Parallax RFID оқу құралы деректерді тұрақты, мұздық қарқынмен 2400 байт жібереді. RFID тегі 10 байтты құрайды. Оқырман кездейсоқ шуылдан өшірілуі мүмкін болғандықтан, қатені анықтауға/түзетуге мүмкіндік беру үшін 10 байтты RFID старт пен тоқтату күзетімен шектеледі. Бастапқы күзетші - желілік беріліс (0x0A), ал тоқтату - каретканың оралуы (0x0D). Бұл келесідей көрінеді:
[Бастау күзет | Байт 1 | Байт 2 | Байт 3 | Байт 4 | Байт 5 | Байт 6 | Байт 7 | Байт 8 | Байт 9 | Байт 10 | Қарауылды тоқтату]Бұл үш негізгі қадам.
Белгінің қашан жіберілгенін біліңіз
Мен AVR -де түйреуішті өзгерту үзілісін қолдандым, ол микробағдарламаға бақыланатын түйреуіште өзгеріс болғанын хабарлайды. Бұл үшін AVR -ды конфигурациялау оңай және жалаушаны орнатуды, MCU -ге қай түйреуішті бақылағыңыз келетінін айтуды және жаһандық үзіліс битін орнатуды қажет етеді. PCINT теңшеу
BSET (PCICR, PCIE2); // түйреуішті өзгерту үзілісті бақылау регистрі pcie2 BSET (PCMSK2, PCINT18); // PCINT18 (PD2) BSET (SREG, 7) үшін түйін ауыстыру үзілісін қосу; // SREG I-битін орнатыңызҮзіліс қызметінің тәртібін жазыңыз Сіз ISR -ді қысқа сақтағыңыз келеді, сондықтан менің үзіліс векторында мен байтты біртіндеп оқып шығамын және байтты жаһандық тұрақсыз таңбалар массивінде сақтаймын. Мен әр үзілісте келесі әрекеттерді орындаймын:
- Бастапқыда екенімді тексеріңіз
- Ортаңғы импульске уақытты 2400 байтқа қойыңыз (RFID оқу жылдамдығы)
- Бастау битін өткізіп жіберіп, келесі биттің ортасына кідіріңіз
- Әр битті белгісіз бүтін санға оқыңыз
- Менде 8 бит болған кезде байтты таңбалар массивіне қойыңыз
- Мен 12 байт жинаған кезде, MCU -ге тегті қатені анықтау үшін оқылғанын хабарлаңыз.
Мен сериялық процедуралардың эксперименталды түрде анықталған кідірістері үшін Дэвид Меллис кодын өзгерткен Микал Харттың SoftSerial кодын өзгерттім.
RS232 шығысын талдау
PCINT процедурасы RFID оқу құралынан RS232 шығысын оқуға арналған кодты қамтиды. Мен 12 байтты (10 байтты RFID плюс жіберушілер) алған кезде, bDataReady параметрін 1 етіп қойдым және негізгі цикл деректерді өңдеуге және оны көрсетуге мүмкіндік береді.
// бұл үзіліс өңдегішіISR (PCINT2_vect) {if (BCHK (PIND, RFID_IN)) // Бастау биті төмен қайтарымдылыққа түседі; uint8_t бит = 0; TunedDelay (CENTER_DELAY); // (uint8_t x = 0; x <8; x ++) {TunedDelay (INTRABIT_DELAY); // сәл өткізіп жіберіңіз, ағайын… if (BCHK (PIND, RFID_IN)) BSET (бит, x); else BCLR (бит, x); } TunedDelay (INTRABIT_DELAY); // өткізгішті тоқтату биті RFID_tag [rxIdx] = бит; ++ rxIdx; егер (rxIdx == 12) bDataReady = 1;}
Сіздің тегіңізді көрсетіңіз
Main () ішінде for (ever) циклі кезінде мен RFID құрылымының барлығы жіберілгенін білдіретін bDataReady орнатылғанын тексеремін. Содан кейін мен оның жарамды тег екенін тексеремін (яғни бастапқы және тоқтату таңбалары тиісінше 0x0A және 0x0D), егер солай болса, мен оны RS232 байланысын жіберемін.
for (;;) {if (bDataReady) {#ifdef _DEBUG_ USART_tx_S («Бастау байты:»); USART_tx_S (itoa (RFID_tag [0], & ibuff [0], 16)); ibuff [0] = 0; ibuff [1] = 0; USART_tx_S («\ nБайтты тоқтат:»); USART_tx_S (itoa (RFID_tag [11], & ibuff [0], 16));#endif if (ValidTag ()) {USART_tx_S («\ nRFID тэгі:»); үшін (uint8_t x = 1; x <11; x ++) {USART_tx_S (itoa (RFID_tag [x], ibuff, 16)); егер (x! = 10) USART_tx (& apos: & apos); } USART_tx_S («\ n»); } rxIdx = 0; bDataReady = 0; }}
4 -қадам: код және қоштасу
Бұл бетте тиісті коды бар zip файлы бар. Ол AVR Studio 4.16 нұсқасында жазылған. Егер сіз бағдарламашы блокнотын, тұтылуды немесе vi (немесе басқа нәрсені) қолдансаңыз, сенімді Makefile файлын каталогқа көшіріп, осы файлдарды бастапқы жолға қосуыңыз қажет, сонымен қатар сериялық оқу бөлімінің уақыты 16 МГц MCU. Егер сіз басқа сағат жиілігінде жұмыс жасасаңыз, онда жылдамдық импульстерін орталықтандырудың реттелген кідірістерін эксперименталды түрде анықтау қажет болады. Егер сізде оны қалай жақсартуға болатыны туралы ұсыныстарыңыз болса, маған хабарлаудан тартынбаңыз!
Ұсынылған:
WS2812 RGB LED (NeoPixel) W/ Arduino [оқу құралы] қалай басқарылады: 10 қадам
WS2812 RGB светодиодты (NeoPixel) W/ Arduino қалай басқаруға болады [Оқулық]: Шолу NeoPixel светодиодтары тартымды визуалды эффектілеріне байланысты қазіргі уақытта электронды жобаларда кеңінен қолданылады. Бұл светодиодтар әр түрлі мөлшерде және пішінде және жолақ түрінде болады. Бұл оқулықта сіз NeoPixel жарық диодтары туралы білесіз және олардың
Сенсорлы дисплейі бар ESP32 негізіндегі RFID оқу құралы: 7 қадам
Сенсорлы дисплейі бар ESP32 негізіндегі RFID оқу құралы: Бұл нұсқаулықта мен ESP32 DEV KIT C модулін, RC-522 негізіндегі компьютерді оқитын компьютерді және AZ-Touch ESP жинағын қолдана отырып, қабырғаға бекітуге арналған TFT шығысы бар қарапайым RFID оқу құралы қалай жасалатынын көрсетемін. Сіз бұл оқырманды есікке кіру немесе кіру үшін пайдалануға болады
TFT дисплейі бар Arduino RFID оқу құралы: 7 қадам
TFT дисплейі бар Arduino RFID оқу құралы: Мен сізге осы нұсқаулықта TFT дисплейі бар жақсы RFID оқу құралы мен қабырғаға бекітуді қалай жасау керектігін көрсетемін. Сіз таңдаған MKR және біздің Ар
4x4 электронды шахмат тақтасының демонстрациясы/ Arduino Mega + RFID оқу құралы + холл-эффект сенсорларымен: 7 қадам
4x4 электронды шахмат тақтасының демонстрациясы/ Arduino Mega + RFID оқу құралымен + Холл эффектілі сенсорлармен: Сәлеметсіздерме, мен Тахир Мириев, Таяу Шығыс техникалық университетінің 2018 жылғы түлегі, Анкара/ Түркия. Мен қолданбалы математика мамандығы бойынша оқыдым, бірақ мен әрқашан бұйымдар жасауды ұнататынмын, әсіресе ол электроникамен, дизайнмен және бағдарламалаумен жұмыс жасаған кезде
Arduino RFID UHF оқу құралы: 10 қадам
Arduino RFID UHF оқу құралы: Бұл нұсқаулықтың мақсаты - UHF RFID оқу құрылғысымен микроконтроллердің интерфейсінің түсінікті мысалын ұсыну. Біз қолданатын оқырман-Thinkify TR-265. Демонстрация әрқайсысында бірегей идентификаторы бар үш UHF тегінен тұрады