RFID Kart Okuyucusunun Sürekli Çalışması

Merhabalar, rfid ile bir projem var ama ben rfid kart okuyucusunun sürekli çalışmasını istiyorum nasıl yapabilirim. kodlardaki gibi yaptığımda bir süre sonra okumuyor ?


#define role 8
#include <SPI.h>
#include <MFRC522.h>
int RST_PIN = 9;
int SS_PIN = 10;
MFRC522 rfid(SS_PIN, RST_PIN);
byte ID[4] = {160, 37, 244, 190};
void setup() {
  Serial.begin(9600);
  pinMode(role, OUTPUT);
  SPI.begin();
  rfid.PCD_Init();
}

void loop() {
  if ( ! rfid.PICC_IsNewCardPresent())    //Yeni kartın okunmasını bekliyoruz.
    return;

  if ( ! rfid.PICC_ReadCardSerial())      //Kart okunmadığı zaman bekliyoruz.
    return;

  if (rfid.uid.uidByte[0] == ID[0] &&     //Okunan kart ID'si ile ID değişkenini karşılaştırıyoruz.
      rfid.uid.uidByte[1] == ID[1] &&
      rfid.uid.uidByte[2] == ID[2] &&
      rfid.uid.uidByte[3] == ID[3] ) {
    Serial.println("Kapı Açıldı");
    digitalWrite(role, HIGH);
    delay(500);
    digitalWrite(role, LOW);
  }
  else {
    digitalWrite(role, LOW);
  }



}

Merhabalar,
Bir süreden sonra güç mü kesiliyor yoksa güç var sadece kartı mı okumuyor?

sadece kart okumuyor. Arduino ışıkları filan yanıyor.

Şu kodu denermisiniz?

#define role 8
#include <SPI.h>
#include <MFRC522.h>
int RST_PIN = 9;
int SS_PIN = 10;
MFRC522 rfid(SS_PIN, RST_PIN);
byte ID[4] = {160, 37, 244, 190};
void setup() {
  Serial.begin(9600);
  pinMode(role, OUTPUT);
  SPI.begin();
  rfid.PCD_Init();
}

void loop() {
  if ( ! rfid.PICC_IsNewCardPresent())    //Yeni kartın okunmasını bekliyoruz.
    return;

  if ( ! rfid.PICC_ReadCardSerial())      //Kart okunmadığı zaman bekliyoruz.
    delay(100);
    return;


  if (rfid.uid.uidByte[0] == ID[0] &&     //Okunan kart ID'si ile ID değişkenini karşılaştırıyoruz.
      rfid.uid.uidByte[1] == ID[1] &&
      rfid.uid.uidByte[2] == ID[2] &&
      rfid.uid.uidByte[3] == ID[3] ) {
    Serial.println("Kapı Açıldı");
    digitalWrite(role, HIGH);
    delay(500);
    digitalWrite(role, LOW);
  }
  else {
    digitalWrite(role, LOW);
  }



}

şuanda da hiç okumuyor. ama sizin eklediğiniz delay(100); silersem okuyor. ama bu da sürekli değil işte

Anladım benim bulabildiğim bir çözüm yolu yok diğer arkadaşlar yardım etmeye çalışacaktır.