这篇文章给大家分享的是有关如何使用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读取卡号”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
如何实现Arduino开发板制作
如何实现Arduino开发板制作如何实现Arduino开发板制作,...
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议