Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用Arduino检测rfid标签缺失?_C++_Arduino_Nfc_Rfid - Fatal编程技术网

C++ 如何使用Arduino检测rfid标签缺失?

C++ 如何使用Arduino检测rfid标签缺失?,c++,arduino,nfc,rfid,C++,Arduino,Nfc,Rfid,我需要使用Arduino扫描2个RFID读卡器,并通过串口共享标签ID。我还需要检测读卡器上何时没有标记,这将触发处理代码中的某些内容 第一部分正在工作,我目前正在串行监视器上连续打印标签ID 我不知道如何处理第二部分:如何检测标签的缺失?我可以说>>如果没有标签被读取,那么在序列打印上发送“没有标签”吗 这是我用于RFID-RC522硬件的库 #include <SPI.h> #include <MFRC522.h> #define RST_PIN

我需要使用Arduino扫描2个RFID读卡器,并通过串口共享标签ID。我还需要检测读卡器上何时没有标记,这将触发处理代码中的某些内容

第一部分正在工作,我目前正在串行监视器上连续打印标签ID

我不知道如何处理第二部分:如何检测标签的缺失?我可以说>>如果没有标签被读取,那么在序列打印上发送“没有标签”吗

这是我用于RFID-RC522硬件的库


#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN         9          // Configurable, see typical pin layout above
#define SS_1_PIN        6         // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 2
#define SS_2_PIN        7          // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 1

#define NR_OF_READERS   2

byte ssPins[] = {SS_1_PIN, SS_2_PIN};

MFRC522 mfrc522[NR_OF_READERS];   // Create MFRC522 instance.


void setup() {

  Serial.begin(9600);
  while (!Serial);

  SPI.begin();
  delay(200);

  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card

    Serial.print(F("Reader "));
    Serial.print(reader);
    Serial.print(F(": "));

    mfrc522[reader].PCD_DumpVersionToSerial();
  }
}


void loop() {

  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {

    // Look for new cards
    if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {

      dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size);
      Serial.println();

      // Halt PICC
      // mfrc522[reader].PICC_HaltA(); (I have commented this in order to print continously not just once)
      // Stop encryption on PCD
      mfrc522[reader].PCD_StopCrypto1();

    }
  }

}

/**
   Helper routine to dump a byte array as hex values to Serial.
*/
void dump_byte_array(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : "");
    Serial.print(buffer[i], HEX);
  }
}


#包括
#包括
#定义RST_引脚9//可配置,参见上面的典型引脚布局
#定义SS_1_引脚6//可配置,使用未使用的引脚,仅需要高/低,必须与SS 2不同
#定义SS_2_引脚7//可配置,使用未使用的引脚,仅需要高/低,必须与SS 1不同
#定义读取器的数量2
字节ssPins[]={SS_1_PIN,SS_2_PIN};
MFRC522 MFRC522[读卡器数量];//创建MFRC522实例。
无效设置(){
Serial.begin(9600);
而(!串行);
SPI.begin();
延迟(200);
for(uint8\u t reader=0;reader