如何使用arduino RFID读取卡号

如何使用arduino RFID读取卡号

这篇文章给大家分享的是有关如何使用arduino RFID读取卡号的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

  • 使用最新arduino IDE加载RC522库

  • 接线

Arduino Uno <------> RFID-RC522

10 <------> SDA

13 <------> SCK

11 <------> MOSI

12 <------> MISO

--null-- <------> IRQ

GND <------> GND

9 <------> RST

3.3V <------> 3.3V

这里务必注意RFID模块的接线务必接好,使得板子的红灯常亮,否则会出现链接失败,读取没有动静

  • 以下是实操代码

#include<deprecated.h>#include<MFRC522.h>#include<MFRC522Extended.h>#include<require_cpp11.h>#include<SPI.h>#defineSS_PIN10#defineRST_PIN9MFRC522rfid(SS_PIN,RST_PIN);bytenuidPICC[4];//存储读取的UIDvoidsetup(){Serial.begin(9600);SPI.begin();rfid.PCD_Init();Serial.println("RC522初始化完成...");}voidloop(){//搜索新卡if(!rfid.PICC_IsNewCardPresent())return;//验证NUID是否可读if(!rfid.PICC_ReadCardSerial())return;MFRC522::PICC_TypepiccType=rfid.PICC_GetType(rfid.uid.sak);//检查是否MIFARE卡类型if(piccType!=MFRC522::PICC_TYPE_MIFARE_MINI&&piccType!=MFRC522::PICC_TYPE_MIFARE_1K&&piccType!=MFRC522::PICC_TYPE_MIFARE_4K){Serial.println("不支持读取此卡类型");return;}//保存读取到的UIDfor(bytei=0;i<4;i++){nuidPICC[i]=rfid.uid.uidByte[i];}Serial.print("十六进制UID:");printHex(rfid.uid.uidByte,rfid.uid.size);Serial.println();Serial.print("十进制UID:");printDec(rfid.uid.uidByte,rfid.uid.size);Serial.println();//使放置在读卡区的IC卡进入休眠状态,不再重复读卡rfid.PICC_HaltA();//停止读卡模块编码rfid.PCD_StopCrypto1();}//十六进制输出voidprintHex(byte*buffer,bytebufferSize){for(bytei=0;i<bufferSize;i++){Serial.print(buffer[i]<0x10?"0":"");Serial.print(buffer[i],HEX);}}//十进制输出voidprintDec(byte*buffer,bytebufferSize){for(bytei=0;i<bufferSize;i++){Serial.print(buffer[i]<0x10?"0":"");Serial.print(buffer[i],DEC);}}

  • 打开串口监听器,控制台会打印读卡器的结果

感谢各位的阅读!关于“如何使用arduino RFID读取卡号”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2021-12-29 23:31:11
收藏
分享
海报
0 条评论
75
上一篇:SAP ABAP和Linux系统里怎么检查网络传输的数据量 下一篇:大数据中任意文件读取与下载原理及修复的示例分析
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码