千家信息网

如何使用arduino RFID读取卡号

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章给大家分享的是有关如何使用arduino RFID读取卡号的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用最新arduino IDE加载RC522库接线Ardui
千家信息网最后更新 2024年12月12日如何使用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 #include #include #include #include #define SS_PIN 10#define RST_PIN 9MFRC522 rfid(SS_PIN, RST_PIN);byte nuidPICC[4]; //存储读取的UIDvoid setup() {  Serial.begin(9600);  SPI.begin();  rfid.PCD_Init();  Serial.println("RC522初始化完成...");}void loop() {  //搜索新卡  if (!rfid.PICC_IsNewCardPresent())    return;  // 验证NUID是否可读  if (!rfid.PICC_ReadCardSerial())    return;  MFRC522::PICC_Type piccType = 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;  }  // 保存读取到的UID  for (byte i = 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();}// 十六进制输出void printHex(byte *buffer, byte bufferSize) {  for (byte i = 0; i < bufferSize; i++) {    Serial.print(buffer[i] < 0x10 ? " 0" : " ");    Serial.print(buffer[i], HEX);  }}//十进制输出void printDec(byte *buffer, byte bufferSize) {  for (byte i = 0; i < bufferSize; i++) {    Serial.print(buffer[i] < 0x10 ? " 0" : "");    Serial.print(buffer[i], DEC);  }}
  • 打开串口监听器,控制台会打印读卡器的结果

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

0