Arduino控制RC522时遇到的问题
各位大大帮忙看看这个问题。我在用Arduino UNO控制RC522时想用刷卡,验证卡序列号是否正确来控制LED的亮和灭。有卡在感应范围内并且卡序列号正确熄灭LED灯,没有卡或者卡序列号不正确时保持LED常亮。
我用了MFRC522库的样例程序如下:
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
MFRC522::MIFARE_Key key;
// Init array that will store new NUID
byte nuidPICC;
const int l1 = 7;//LED
//uchar serNum;
void setup() {
Serial.begin(9600);
SPI.begin(); // Init SPI bus
rfid.PCD_Init(); // Init MFRC522
pinMode(l1, OUTPUT);
digitalWrite(l1, HIGH);
}
void loop() {
// Look for new cards
if ( ! rfid.PICC_IsNewCardPresent())
{
digitalWrite(l1,HIGH);
Serial.println("KaiDeng");
}
// Verify if the NUID has been readed
if ( ! rfid.PICC_ReadCardSerial())
return;
for (byte i = 0; i < 4; i++) {
nuidPICC = rfid.uid.uidByte;
Serial.print(nuidPICC);
}
Serial.println();
if (nuidPICC == 0x5A && nuidPICC == 0x6D && nuidPICC == 0xC8 && nuidPICC == 0x73)
{
digitalWrite(l1, LOW);
Serial.print("GuanDeng");
}
else
{
digitalWrite(l1, HIGH);
Serial.print("KaiDeng");
}
}
烧录以后,没有卡的时候都正常等可以常亮。但是有卡并且卡号正确的情况下LED一直在闪。感觉像是rfid.PICC_IsNewCardPresent()这个方法一次发现卡,一次没发现卡。我想实现的是如果有卡并且卡号正确,LED熄灭。劳烦各位帮忙看看谁是什么问题。 RC522d感应距离短
页:
[1]