Arduino与RC522读卡测试代码

2023-10-24 11:31

本文主要是介绍Arduino与RC522读卡测试代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RC522与Arduino读卡代码

做了Arduino作品集4年多了,让我印象比较深刻的是每当有人用RC522的时候都会遇到同样一个问题,就是为什么我的卡读取不了卡号,我明明是用网上的教程啊?在这里我声明一点,网上的教程不一定是正确的,当然大部分都是有参考意义的。并且还会有一个小问题,就是我读到卡号了,但是就是不会用?兄弟们,不要急,接下来三铭学长为你解答。

1.准备材料

材料名称数量
Arduino UNO 1
RC522模块1
IC卡2
LED(大功率,不接电阻)1

2.接线

RC522与Arduino接线
RC522Adruino
DAD10
SCKD13
MOSID11
MISOD12
GNDGND
RST(不要接9)5V
3.3V

LED与Arduino接线

LED正极(长引脚)D6
LED负极(短引脚)D7

3.示例成功代码

/*TB店铺:DC创客科技*/
/*博主WX:16620156636*/#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9//重置
MFRC522 rfid(SS_PIN, RST_PIN); //实例化类
// 初始化数组用于存储读取到的NUID
byte nuidPICC[4];
void setup() 
{
Serial.begin(9600);
SPI.begin(); // 初始化SPI总线
rfid.PCD_Init(); // 初始化 MFRC522
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
}
void loop() 
{Read();if(nuidPICC[0]==0x22 &&nuidPICC[1]==0xB9 &&nuidPICC[2]==0x7A &&nuidPICC[3]==0x34 )        { digitalWrite(6,HIGH);digitalWrite(7,LOW);}else{digitalWrite(6,LOW);digitalWrite(7,LOW);}}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 Read()
{
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;
}// 将NUID保存到nuidPICC数组
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();
// 使放置在读卡区的IC卡进入休眠状态,不再重复读卡
//rfid.PICC_HaltA();
// 停止读卡模块编码
//rfid.PCD_StopCrypto1();
}

4.效果

刷正确的卡LED亮,刷其他卡LED 灭。

串口监视器可以读出卡号。

如果有用,请关注或者打赏博主,您的认可是我最大的动力!

这篇关于Arduino与RC522读卡测试代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/274861

相关文章

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

内存处理一段测试代码

#include<stdio.h>#include<stdlib.h>#include<assert.h>void GetMem(char *p,int n){p=(char*)malloc(n);//空间不得释放 内存泄露}char *GetMem2(char *p,int n){p=(char*)malloc(n);return p;//返回指针}void test(){c

物联网之ESP32控制舵机、通过网页设置舵机角度、Web服务、舵机原理、接线、Arduino、WiFi、Http

MENU 前言原理硬件电路设计软件程序设计LEDC输出PWM信号使用第三方库控制舵机网页控制舵机 前言 舵机在电子产品中非常常见,比如四足机器人、固定翼航模等都有应用,因此学习舵机对电子制作非常有意义。本文章使用Arguino的PWM对SG90舵机旋转角度控制。 原理 舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。舵机只

Arduino IDE安装

Arduino IDE(集成开发环境)的安装过程是一个相对直观且易于操作的流程,主要步骤包括下载、安装和配置。以下将详细阐述Arduino IDE的安装过程,同时提供一些背景信息和注意事项,确保安装过程顺利进行。 一、Arduino IDE下载 1. 访问Arduino官网 首先,用户需要访问Arduino的官方网站(https://www.arduino.cc),这是获取Arduino I

ubuntu14下Arduino IDE无法打开串口的问题

ubuntu版本是14.04 LTS,arduino版本是1.8.1。使用arduino的串口工具时无法打开串口,串口是USB转的,用的cp2102 。 google了一下,发现可能是权限的问题,执行以下语句,即可解决: sudo chown username /dev/ttyUSB0将username改成自己的用户名就行了。

Arduino IDE

Arduino IDE(集成开发环境)的安装过程是一个相对直观且易于操作的流程,主要步骤包括下载、安装和配置。以下将详细阐述Arduino IDE的安装过程,同时提供一些背景信息和注意事项,确保安装过程顺利进行。 一、Arduino IDE下载 1. 访问Arduino官网 首先,用户需要访问Arduino的官方网站(https://www.arduino.cc),这是获取Arduino I

Arduino library for proteus 下载 安装 测试

Arduino  library  include: https://drive.google.com/uc?export=download&id=1P4VtXaomJ4lwcGJOZwR_25oeon9Zzvwb 第一步: 也可从我的共享网盘当中下载: 第2步:解压文件:  第3步: copy  lib and idx  到对应的目录: 至于idx索引文件 好像自动生成

Arduino UNO 编程 第一期——下载及使用

字幕君已上线...... 副字幕君已上线...... 计数君已上线...... 彩色字幕君 ( 花了重金请来的 ) 已上线...... Doge智能系统已上线...... Doge:嗨嗨我又来了! 观众们......已上线!!!!! OK LET`S GO! Arduino是一组开发板,其中Arduino UNO就是其中之一。给Arduino编写代码,就需要Arduino语

RFID-RC522食用指南(1)前置任务

##一、什么是RFID ###RFID简介: RFID(射频识别:Radio Frequency Identification)俗称"电子标签",是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,作为条形码的无线版本,RFID技术具有条形码所不具备的防水、防磁、耐高温、使用寿命长、读取距离大、标签上数据可以加密、存储数据容量更大、存储信息更改自如等优

初识Arduino

什么是Arduino Arduino是一款便捷灵活、方便上手的开源电子原型平台。它包含硬件部分(即各种型号的Arduino板)、软件部分(即Arduino IDE),以及其Arduino社区平台。 Arduino由一个欧洲开发团队于2005年冬季开发,成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mell